function listenOnce(cb) {
  const event = this;
  const onceFn = data => {
    event[kRemoveListener](onceFn);
    cb(data);
  };
  event[kAddListener](onceFn);
}
@this {object} browser api event like browser.tabs.onRemoved