allow watch() and unwatch() to start/stop the thread