Refactored the Message Factory class set