def METHOD_NAME(self, event, *args, **kwargs):
    """Call callbacks for ``event``.
    Any additional arguments are passed to all callbacks registered for this
    event. Exceptions raised by callbacks are caught, and a message printed.
    """
    for func in self.callbacks[event][:]:
        try:
            func(*args, **kwargs)
        except (Exception, KeyboardInterrupt):
            if self.print_on_error:
                print("Error in callback {} (for {}):".format(func, event))
            self.shell.showtraceback()