Simplified reflection code, so that messages can be split into other modules.