refactored stuff around Room and GamePlayState