Adding payload_size as a parameter so user in future can extend PMessage

With this, it will be possible to add more parameters to User message.
Start using templates to user be able to create his own Message types.