Clean implementation of a single room. Still needs to be refactored later to support multiple rooms. Especially when connections are dropping.