func (b *Bus) Publish(eventName string, eventBody interface{}) {
	e := NewEvent(eventName, eventBody)

	b.mu.RLock()
	defer b.mu.RUnlock()
	for _, h := range b.handlers {
		h.Handle(e)
	}
}
func (b *Bus) Publish(eventName string, eventBody interface{}) {
	e := NewEvent(eventName, eventBody)

	b.mu.RLock()
	defer b.mu.RUnlock()
	for _, h := range b.handlers {
		h.Handle(e)
	}
}
func ( b * Bus ) Publish ( eventName string , eventBody interface { } ) { e := NewEvent ( eventName , eventBody ) b . mu . RLock ( ) defer b . mu . RUnlock ( ) for _ , h := range b . handlers { h . Handle ( e ) } }
// Publish an event.
Publish an event .