Better handling of consumers for in_memory adapter
Bit of refactoring for in_memory adapter
don't include MessageDriver::MessagePublisher in features for consumers

It implies you can use it everywhere, which you can't at this time!