code: function wrapper() {
      var num = self.counter++;
      var id = createId(prefix, num);
  
      var token = {
        name: name,
        async: !!fn.async,
        prefix: prefix,
        num: num,
        id: id,
        fn: fn,
        args: [].slice.call(arguments)
      };
  
      define(token, 'context', this);
      stash[id] = token;
      return id;
    }
docs: wrap the helper and generate a unique ID for resolving it