code: func (bus *EventBus) SubscribeAsync(topic string, fn interface{}, transactional bool) error {
  	return bus.doSubscribe(topic, fn, &eventHandler{
  		reflect.ValueOf(fn), false, true, transactional, sync.Mutex{},
  	})
  }
docs: // SubscribeAsync subscribes to a topic with an asynchronous callback
  // Transactional determines whether subsequent callbacks for a topic are
  // run serially (true) or concurrently (false)
  // Returns error if `fn` is not a function.