code: def _modify_event(self, event_name, method, func):
          
          if event_name not in self.ALL_EVENTS:
              raise TypeError(('event_name ("%s") can only be one of the '
                               'following: %s') % (event_name,
                                                   repr(self.ALL_EVENTS)))
          if not isinstance(func, collections.Callable):
              raise TypeError(('func must be callable to be added as an '
                               'observer.'))
          getattr(self._events[event_name], method)(func)
docs: Wrapper to call a list's method from one of the events