don't watch when already invalid
refactor
become invalid when adding a new invalid watcher
0.2.1