'Invokes handler for ``event`` on this element with given ``**params``
:param event: event name
:type  event: str
:param params: event arguments
:type  params: dict, None'

def event(self, event, params=None):

    self_event = event.replace('-', '_')
    if hasattr(self, ('on_%s' % self_event)):
        getattr(self, ('on_%s' % self_event))(**(params or {}))
    if (event in self.events):
        self.events[event](*self.event_args[event], **(params or {}))
