Implement watcher API