Refactored Watcher.Watch to use callback again instead of channels.