public async Task<object> Dispatch(Query query)
{
QueryHandler handler;
if(_handlers.TryGetValue(query.GetType(), out handler))
{
return await handler.Handle(query);
}
else
{
throw new NotImplementedException($"No handler for querytype {query.GetType().FullName}");
}
}