code: function drop(type, callback) {
        if (arguments.length === 1)
          delete _[type];
        else {
          var fn = wm.get(callback), cb, i;
          if (fn) {
            wm['delete'](callback);
            drop(type, fn);
          } else {
            cb = get(type).cb;
            i = indexOf.call(cb, callback);
            if (~i) cb.splice(i, 1);
          }
        }
      }
docs: if we set a listener through `.when` and this hasn't been notified yet but we changed our mind about such notification we can still remove such listener via `.drop` otherwise, if we know the key, we can drop it.