Most of this is simple cleanup. There is one notable change though, in the original reference implementation for 0.10 the zookeeper watch supports multiple roots. I don't recall what the reason for this complexity was, probably accounting for the weird way we tried handling global sidelines in the implementation that preceded this. I am confident that there's a better/cleaner way of doing that. I am just not sure that additional complexity is worth it.
Most of this is simple cleanup. There is one notable change though, in the original reference implementation for 0.10 the zookeeper watch supports multiple roots. I don't recall what the reason for this complexity was, probably accounting for the weird way we tried handling global sidelines in the implementation that preceded this. I am confident that there's a better/cleaner way of doing that. I am just not sure that additional complexity is worth it.