code: def fire(self, *args, **kwargs):
          
          if self.eventmanager:
              # Fire global event. Assuming we have an eventmanager.
              self.eventmanager.got_event(self.name, *args, **kwargs)
  
          for handler in self:  # Iterate over handlers
              try:
                  handler(*args, **kwargs)  # Execute handler with given args.
              except StopIteration:  # Stop iterating if handler raised StopIter
                  break
docs: Fires an event, executing all it's handlers with given
          args and kwargs.
          You can also use Event() directly instead of Event.fire()