It looks like events from Zookeeper are dispatches from its event thread:
... it seems like a good idea to have implementations perform work in their
own thread to avoid zookeeper from hitting backlog if one client decides to
perform some complex operation in one event when there are hundreds of
events pending delivery.
Location: San Francisco, CA