def mixin (cls):
    """
    A decorator which adds event methods to a class giving it the ability to
    bind to and trigger events

    :param cls: the class to add the event logic to
    :type cls: class
    :return: the modified class
    :rtype: class
    """
    cls._events = {}
    cls.bind = Pyevent.bind.__func__
    cls.unbind = Pyevent.unbind.__func__
    cls.trigger = Pyevent.trigger.__func__
    return cls
A decorator which adds event methods to a class giving it the ability to
    bind to and trigger events

    :param cls: the class to add the event logic to
    :type cls: class
    :return: the modified class
    :rtype: class