code: function () {
          /*  generate new wrapper function  */
          var proxy = function () {
              /*  if context is an object, annotate it with
                  the real "this" pointer of this method call  */
              if (_cs.istypeof(arguments.callee.__ctx__) === "object")
                  arguments.callee.__ctx__.__this__ = this;
  
              /*  just pass execution through to wrapped function
                  with our attached store as its execution context object  */
              return func.apply(arguments.callee.__ctx__, arguments);
          };
  
          /*  create the attached store object
              (either with fresh or cloned context)  */
          proxy.__ctx__ = (clonable ? _cs.clone(_cs.isdefined(this.__ctx__) ? this.__ctx__ : ctx) : ctx);
  
          /*  add ourself as the cloning function  */
          if (clonable)
              proxy.clone = generator;
  
          /*  set "guid" property to the same of original function,
              so it is garbage collected correctly  */
          proxy.guid = func.guid = (func.guid || proxy.guid || _cs.cid());
  
          /*  return the new wrapper function  */
          return proxy;
      }
docs: /*  define the generator