refactored to send a LeaveRoomResponse to every room the user has joined
in, moved the method to the BaseEventHandler
added ConnectionEventHandler class for handling connection events
refactored sendPublicMessageResponse method by not sending the message
back to itself. removed the code that removed a user from a room from
the sendLeaveRoomResponse() method
added code to handle disconnected events, added missing call to
sendPublicMessageResponse()
modified code to reflect the previous changes from the Room class
moved the error messages to ErrorMessage class
refactored to add or remove a user using the RoomManager class