refactor FeedWatcher into its own module