How does Django Channels Group/channel_session work?
<p>It seems Group and channel_session can persist across multiple message sessions and consumers. How does Channels achieve that?</p>

<pre><code>@channel_session_user_from_http
def ws_connect(message):
    # Add them to the right group
    message.channel_session['room'] = 'room name'
    Group("chat-%s" % message.user.username[0]).add(message.reply_channel)

@channel_session_user
def ws_disconnect(message):
    if 'room' in message.channel_session:
        print('room====', message.channel_session['room'])
    Group("chat-%s" % message.user.username[0]).discard(message.reply_channel)
</code></pre>

<p>I would like to setup a long existing object, much like a global object which is accessible by every consumer.</p>