shouldn't it `if be (watcher != parent) watchedBy += watcher`?