Document watcher classes