Merge pull request #91 from michalt/custom-watcher-factory

Implement the ability to register custom watcher implementations