i wonder if by modifying the regular DNS watcher more, you could reuse more of the logic there? for instance, what is the justification for abandoning the sleep math there for the simpler sleep math in `zookeeper_dns`?