namespace Toolkit.Foundation; public interface IMediator { Task Handle(object message, object? key = null, CancellationToken cancellationToken = default); Task Handle(TMessage message, object? key = null, CancellationToken cancellationToken = default) where TMessage : notnull; IAsyncEnumerable HandleMany(object message, object? key = null, CancellationToken cancellationToken = default); IAsyncEnumerable HandleMany(TMessage message, object? key = null, CancellationToken cancellationToken = default) where TMessage : notnull; }