allow a MessageListener to be specified when creating a consumer; to avoid threading issues when creating lots of consumers after the connection has started