Use Option::or_else in eventdispatcher::dispatch_event.