     # session ID. It tried to lookup the prefix from a configuration.
     # If no configure prefix is found, use the default hardcoded one.
     # A supplied session ID tag must conform to a set of restrictions.
-    namespaced: (sid, prefixOverride) ->
+    # Namespacing is used here to avoid collisions in the Redis DB.
+    this::namespaced = this::nid = (sid, prefixOverride) ->
         noSid = "sid argument has to be non empty"
         wrongSid = "sid argument has to be a string"
         assert not _.isEmpty(sid), noSid.toString()

    # This method is supposed to be called when a session engine asks
    # the storage to destroy a session with the specified session ID.
    # The session may or may not exist. Please refer to the `Connect`.
    destory: (sid, callback) ->
        assert _.isString qualified = @namespaced sid
        assert _.isObject(@redis), "no Redis client yet"
        message = "Redis session engine error at destroy"
        process = "Destroying a Redis stored session %s"
        logger.debug process.grey, try sid.underline
        @redis.del qualified, (error, trailings...) =>
            @emit "session-destroy", sid, callback
            logger.error message.red, error if error
            return callback.call this, error if error
            return callback.apply this, arguments

    # This method is supposed to be called when a session engine asks
    # the storage to suspend a session with the specified session ID.
    # The session may or may not exist. Please refer to the `Connect`.
    # The backing storage in use is Redis via the `RedisClient` class.
    this::set = this::writeSession = (sid, session, callback) ->
        assert encoded = try JSON.stringify session
        assert _.isString qualified = @namespaced sid
        expire = session?.cookie?.maxAge / 1000 | 0
