event_bus.go
func (bus *EventBus) Subscribe(topic string, fn interface{}) error {
	return bus.doSubscribe(topic, fn, &eventHandler{
		reflect.ValueOf(fn), false, false, false, sync.Mutex{},
	})
}
func (bus *EventBus) Subscribe(topic string, fn interface{}) error {
	return bus.doSubscribe(topic, fn, &eventHandler{
		reflect.ValueOf(fn), false, false, false, sync.Mutex{},
	})
}
func ( bus * EventBus ) Subscribe ( topic string , fn interface { } ) error { return bus . doSubscribe ( topic , fn , & eventHandler { reflect . ValueOf ( fn ) , false , false , false , sync . Mutex { } , } ) }
// Subscribe subscribes to a topic.
// Returns error if `fn` is not a function.
Subscribe subscribes to a topic . Returns error if fn is not a function .