Your description seems right to me, assuming that when you refer to changes to the children, you mean setting the data of the children.
You may also want to have a look here if you haven't done it yet:
About performance impact, you may want to have a look at the discussion here:
On Jul 18, 2013, at 12:25 AM, Benjamin Jaton <[EMAIL PROTECTED]> wrote:
> I would like to be notified of a change on any of the children of a znode
> (could be a lot of them).
> AFAIK to achieve this we need to set a watcher on each child and then also
> watch the parent to be aware of children addition/deletion and add/remove
> watchers accordingly. Is that correct?
> What is the performance impact of having for example thousands of watchers?