Buenas prácticas de PubNub: ¿Cómo gestionar habitaciones privadas?

Estoy aprendiendo pubnub y leo su documentación, pero simplemente no encuentro cómo administrar un cuadro de chat en varias salas.

Por defecto, un canal puede ser escuchado por cualquier persona. Suscribirse y publicar en él es fácil.

Lo que quiero es tener una sala pública principal (hasta ahora muy buena), pero cualquiera debería poder hablar en privado con cualquier otra persona sin el riesgo de que otros usuarios la lean.

Estas salas dinámicas serían tabuladas y el usuario debería poder ir de una a otra.

Otro requisito sería que hablar en privado con alguien no lo eche de las otras habitaciones a las que se suscribió (aún se le puede notificar que se ha publicado un nuevo mensaje en otra habitación mientras conversaba)

¿Cuál sería la mejor práctica para lograr esto?

¿Usaría diferentes canales (creados dinámicamente)?¿Utilizaría un canal y filtraría los mensajes según su estado, id de pseudo-habitación o protagonistas?¿Usaría multiplexación (solo un socket)?

Necesito saber cuál es la mejor manera de lograrlo, ya que la documentación solo describe escenarios básicos con una sola habitación y no hay nada sobre esto en Internet.

Gracias.

PD: Sé que PubNub no recomienda más de 2 canales a la vez (aunque me cuesta mucho encontrar la explicación de esto).

PPS: Estoy usando punbub con socket.io