(/=) Protocol

(-) NetworkMessage, unnecessary abstraction
(-) UserMessage, unnecessary abstraction
(/=) MessageType, contains all types possible
(/=) Args, Cmds, suit protocol
(/=) protocol defintion