docs: function(durationMs, args) {
        var p = promise();
        var id = setTimeout(function() {
          p['fire'](true, args);
        }, durationMs);
        p['stop0'] = function() { p['fire'](false); clearTimeout(id); };
        return p;
      }