Server is a singleton. Server also has a list of the following that exist on this particular server:
- A set of Sessions with users
- A set of Rooms that users have visited - let's call these the "List of Rooms the Server is aware of"
Each user who logs on will create a their own session and this is added to the Server's set of Sessions. Each session keeps track of user specific information. This includes:
- The Server that the user's session belongs to
- A set of Rooms that the user has visited - let's call these the "List of Rooms the User is aware of"