Added Basic Test Template for watcher.py

Modified watcher.py to allow better dependency injection

a
Added Unit Test for watcher.py