feat(Watcher): move the project watcher to a new module

Closes #4
0.2.6