Multi-user chat support


Support a multi-user chat session, whereas the user can invite multiple other users to a conversation and all messages are shared across the parties.
Challenges here: A conversation identifier must be passed across boundaries to uniquely identify the conversation between the relevant parties.
Client code must be changed to accommodate for the scenarios of chatting with a set of users and separately with a subset of these users.
Leaving the chat and joining the chat (in a multi-user scenario) should notify other parties.