docs: def file_del(self, key, paths=None):
          """
          Deregister a task for file event changes.  If paths is None, all
          paths assoicated with the task will be deregistered.
      """
          if paths is None:
              paths = []
              for path in self._file_event_map:
                  if key in self._file_event_map[path]:
                      paths.append(path)
          elif not isinstance(paths, list):
              paths = [paths]
          for path in paths:
              if key in self._file_event_map[path]:
                  del self._file_event_map[path][key]
              if path in self._file_event_map and not self._file_event_map[path]:
                  self._watch_files.remove(path)
                  del self._file_event_map[path]