code: def relay_events_from(self, originator, event_type, *more_event_types):
          
          handlers = {
                  event_type: lambda *args, **kwargs: \
                      self.dispatch_event(event_type, *args, **kwargs)
                  for event_type in (event_type,) + more_event_types
          }
          originator.set_handlers(**handlers)
docs: Configure this handler to re-dispatch events from another handler.
  
          This method configures this handler dispatch an event of type 
          *event_type* whenever *originator* dispatches events of the same type 
          or any of the types in *more_event_types*.  Any arguments passed to the 
          original event are copied to the new event.
  
          This method is mean to be useful for creating composite widgets that 
          want to present a simple API by making it seem like the events being 
          generated by their children are actually coming from them.  See the 
          `/composing_widgets` tutorial for an example.