dispatch method
Implementation
void dispatch(Object event) async {
_logger.info('dispatched event\n$event');
_eventsController.add(event);
final handler = _eventHandlers[event.runtimeType];
if (handler == null) {
_logger.info('No handler found for events of type ${event.runtimeType}!');
return;
} else if (!handler.callWhen(state)) {
_logger.info('Handler does not meet it\'s condition to run!');
return;
}
await handler.call(event);
}