package cqrs import ( "context" ) type Event interface{} type EventMiddleware func(EventHandler) EventHandler type EventHandlerFunc func(ctx context.Context, event Event) error func (f EventHandlerFunc) Handle(ctx context.Context, event Event) error { return f(ctx, event) } type EventHandler interface { Handle(ctx context.Context, event Event) error }