should mark this as final since it's being invoked from constructors (in RabbitMessageBus and RedisMessageBus) - otherwise someone could override it and cause an escape during construction which would be bad