Make the Watcher class work, with tests