def dispatch(self, *args, **kwargs) -> Awaitable[bool]:
        """
        Create and dispatch an event.

        This method constructs an event object and then passes it to :meth:`dispatch_event` for
        the actual dispatching.

        :param args: positional arguments to the constructor of the associated event class
        :param kwargs: keyword arguments to the constructor of the associated event class
        :returns: an awaitable that completes when all the callbacks have been called (and any
            awaitables waited on) and resolves to ``True`` if there were no exceptions raised by
            the callbacks, ``False`` otherwise

        """
        event = self.event_class(self.source(), cast(str, self.topic), *args, **kwargs)
        return self.dispatch_raw(event)
Create and dispatch an event.

        This method constructs an event object and then passes it to :meth:`dispatch_event` for
        the actual dispatching.

        :param args: positional arguments to the constructor of the associated event class
        :param kwargs: keyword arguments to the constructor of the associated event class
        :returns: an awaitable that completes when all the callbacks have been called (and any
            awaitables waited on) and resolves to ``True`` if there were no exceptions raised by
            the callbacks, ``False`` otherwise