Refactored rooms joining and subscription waiting