Hi,
First of all, kazoo is a great work. The implementation is very clean. I was working on porting ZOOKEEPER-1416 to kazoo and it quite simple to do. I really think that we should promote this to be an official Python client for zookeeper since there is no one maintaining the existing one and it isn't fun to work with.
Up on closer looking at kazoo code, I noticed that SetWatch request is missing from kazoo code base. This request is not exposed to user. However, the purpose of this packet is so that client library can use it to register all the watches on reconnect and the server will be able to replay all the event which happened when client was disconnected. For application that rely on stream of events to update its state to match server-side state, it is critical that it cannot miss any watch event.
Let me know what you thought,
Cheers,
Thawan