preparation for message generation refactoring