Break apart session handling and new user registration; improve global pub/sub design