I wonder if it'd be best to add a new call to the NodeDomain of the form clearAllWatchesWithPrefix(path).  That way we wouldn't need visit() and we wouldn't need any cached record of what the children were.