I'm just a beginner so not really sure if I no how everything works, but
this is my understanding of
how watches work.
Setting a watch on node a from client c.
A change to a happens and a notification is sent over to c. The notification
doesn't include any data but just
tells the client that something has changed.
While the notification is being sent to c another change to a happens, no
notification is sent to c.
C fetches data/children from a and sees both of the updates to it and may or
may not set a new watch.
Hope it helped.