code: function(curr, name, value) {
          /* global process: true */
          /* global setImmediate: true */
          /* global setTimeout: true */
  
          /*  short-circuit processing  */
          if (curr[name].length === 0)
              return;
  
          /*  iterate over all handlers, exactly once  */
          var handlers = curr[name];
          curr[name] = [];                                             /*  [Promises/A+ 2.2.2.3, 2.2.3.3]  */
          var func = function() {
              for (var i = 0; i < handlers.length; i++)
                  handlers[i](value);                                  /*  [Promises/A+ 2.2.5]  */
          };
  
          /*  execute procedure asynchronously  */                     /*  [Promises/A+ 2.2.4, 3.1]  */
          if (typeof process === 'object' && typeof process.nextTick === 'function')
              process.nextTick(func);
          else if (typeof setImmediate === 'function')
              setImmediate(func);
          else
              setTimeout(func, 0);
      }
docs: /*  execute particular set of handlers