Added Watcher class and updated WatcherDSL to reflect.