cleaned up Watcher, moved Results to separate package