Add event by name.

        This is called for you as needed if you allow auto creation of events (see __init__).

        Upon an event being added, all handlers are searched for if they have this event,
        and if they do, they are added to the Event's list of callables.

        This is only here to ensure my constant hatred for Python 2's horrid variable argument support.

        :param str|unicode name: Name

def add_event(self, name, send_event=True, event_factory=None):
        """
        Add event by name.

        This is called for you as needed if you allow auto creation of events (see __init__).

        Upon an event being added, all handlers are searched for if they have this event,
        and if they do, they are added to the Event's list of callables.

        This is only here to ensure my constant hatred for Python 2's horrid variable argument support.

        :param str|unicode name: Name
        """
        return self.add_events((name,),send_event=send_event,event_factory=event_factory)