Don't Make This Mistake:
Do not give the message passed into processMessage(..) to MQ.put(..) doing so can cause one of the following problems: (1) infinite loop if msg.to is still set to the current primitive, (2) sharing of the Message object between multiple primitives simultaneously (remember, the different primitives process the message in their own threads, if the same Message object is sent to multiple commands, invalid messages may get processed due to the changing of msg.to between calls).