[Watchers] Remove the logic inside the watcher component and put it inside the watch system