Refactor watcher