Instead to register EventHandlers we register Func<EventHandlers> which solves scope problems (having transient/scoped objects owned by singletons)
Instead to register EventHandlers we register Func<EventHandlers> which solves scope problems (having transient/scoped objects owned by singletons)