Refactor pushMsg and broadcastMsg interfaces. Functions receive pointer to the concrete attachment instead of pointer to the message. This simplifies the usage of pushMsg and broadcastMsg functions. Consistency between command and attachment is done at compile time.
Use macro to register command attachments.
Add constructor with arguments for SSimpleMsgCmd.