Abstracted NetworkHost into its own class to be shared by the client and server. Added functionality to change usernames