func NewInternalEventBus() *InternalEventBus {
	b := &InternalEventBus{
		eventHandlers: make(map[string]map[EventHandler]struct{}),
	}
	return b
}
NewInternalEventBus constructs a new InternalEventBus
package ycq
type EventBus interface {
	PublishEvent(EventMessage)
	AddHandler(EventHandler, ...interface{})
}
type InternalEventBus struct {
	eventHandlers map[string]map[EventHandler]struct{}
}