docs: function proxyFunction (call, args) {
      // get clone of call and reset original
      call = resetCall(call)
      // require immutable core
      assert.ok(GLOBAL.immutableCore !== undefined, 'ImmutableAI configuration error: immutableCore required')
      // require call properties
      assert.ok(call.namespace !== undefined, 'ImmutableAI method call without namespace')
      assert.ok(call.module !== undefined, 'ImmutableAI method call without module name')
      assert.ok(call.method !== undefined, 'ImmutableAI method call without method name')
      // create method signature
      var signature = call.module+GLOBAL.localNamespaces[call.namespace]+'.'+call.method
      // get method - throws error if not found
      var method = GLOBAL.immutableCore.method(signature)
      // create empty object for args if not defined
      if (args === undefined) {
          args = {}
      }
      // set session for args
      args.session = call.session
      // call method with args and session
      return method(args)
  }