Triggers event observers for the given event name,
        passing custom variadic arguments.

def trigger(self, event, *args, **kw):
        """
        Triggers event observers for the given event name,
        passing custom variadic arguments.
        """
        observers = self._pool.get(event)

        # If no observers registered for the event, do no-op
        if not observers or len(observers) == 0:
            return None

        # Trigger observers coroutines in FIFO sequentially
        for fn in observers:
            # Review: perhaps this should not wait
            yield from fn(*args, **kw)