Fire event. call event's handlers using given arguments, return a list of results.

        :param str name: Event name
        :param tuple args: positional arguments to call each handler with
        :param dict kwargs: keyword arguments to call each handler with
        :return list: a list of tuples of handler, return value

def fire(self, event, *args, **kwargs):
        """
        Fire event. call event's handlers using given arguments, return a list of results.

        :param str name: Event name
        :param tuple args: positional arguments to call each handler with
        :param dict kwargs: keyword arguments to call each handler with
        :return list: a list of tuples of handler, return value
        """
        if not self._maybe_create_on_fire(event):
            return
        return self[event].fire(*args, **kwargs)