Wait until you find out that zrepl[1] exists, what it can do and that it can even be signaled ;-)

1: https://github.com/zrepl/zrepl