Adding parent type verification (must be PMessage), removing payload
param
Example of how to extend PMessage to add more fields to base Protocol.