early design, Watcher class