Refactor Watcher and related test cases