refactoring room join code; fixing issue where existing subscribers would not be subscribed to new joiners