Split out Message Storage from the RandomMessageProducer.
Add final to most methods.