refactored core.MessageFactory to new class in new module: message.Message.