Execute all event handlers with optional arguments for the observable.

def trigger(self, *args, **kargs):
        """
        Execute all event handlers with optional arguments for the observable.
        """
        event = args[0]

        if isinstance(event, str) and ' ' in event:
            event = event.split(' ')  # split event names ...

        if isinstance(event, list):  # event is a list of events
            for each in event:
                self.events[each].trigger(*args[1:], **kargs)
        else:
            self.events[event].trigger(*args[1:], **kargs)