... restructuring
... make MessageType an enum
... move message definitions to their own file