code: def file_add(self, ev, paths):
          
          log = self._params.get('log', self._discard)
          if not isinstance(paths, list):
              paths = [paths]
          for path in paths:
              if path not in self._file_event_map:
                  self._watch_files.add(path)
                  self._file_event_map[path] = {}
              self._file_event_map[path][ev.get_key()] = ev
          log.debug("Added event key %r, action %r to path%s: %s", ev.get_key(), ev._handler_name, ses(len(paths)), paths)
docs: Register for file change events.  If there is a change to the file, all
          registered tasks will be notified with a call t.event(action).
  
          Note that as multiple tasks might register an event on the same
          path, each path is mapped to a dict of tasks pointing at actions.
          A task can only register a single action with each path.