Further refactoring + watch/unwatch are instance methods.