CommunicationObjects to define objects meant for passing between client and server, to help enforce what information is passed and simplify (de)serialization