public virtual async Task Dispatch(Event @event)
{
List<QueryModelBuilder> handlers;
if(_handlers.TryGetValue(@event.GetType(), out handlers))
{
await Task.WhenAll(handlers.Select(b => b.Handle(@event)));
}
else
{
throw new NotImplementedException($"No handler for eventtype {@event.GetType().FullName}");
}
}