Generic Message is where much of the actual guts of the messaging system is based. Basically, every message in RLViz is made from:
to: The intended recipient of this message (Experiment, Agent, Environment, AgentShell, EnvironmentShell)
The type of to is {@link MessageUser}
from: The originator of this message (Experiment, Agent, Environment, AgentShell, EnvironmentShell)
The type of from is {@link MessageUser}
theMessageType: Identifier of the message type. These types are all predefined inside RLViz (there is a "custom" for making custom message types)
The interpreted type of theMessageType varies from subclass to subclass {@link AgentMessageType}, {@link EnvMessageType}, {@link EnvShellMessageType}, {@link AgentShellMessageType}
payloadType: formatting hints about the payload of the message
The type of payloadType is {@link MessageValueType}
payload: formatted string with the deliverable aspect of this message
The type of payload is {@link String}
@author Brian Tanner
@since The Beginning