namespace TheXamlGuy.Framework.Core { public interface IEventBuilderConfiguration { } public interface IEventBuilderConfiguration : IEventBuilderConfiguration where TEvent : class { IReadOnlyCollection Descriptors { get; } Action? Factory { get; } Action? Next { get; } IEventBuilderConfiguration WithHandler() where THandlerEvent : class; IEventBuilderConfiguration WithHandler(Func factoryDelegate) where THandlerEvent : class; IEventBuilderConfiguration WithHandler(Func factoryDelegate) where THandlerEvent : class; } }