addKeyCombinationListener(callbackFunction) {
    const cancel = () => {
      this.listeners.remove('keyCombination');
    };

    this.listeners.set('keyCombination', (keyCombination) => {
      callbackFunction(keyCombination);
      cancel();
    });

    this._updateDocumentHandlers();

    return cancel;
  }
Add a new key combination listener function to be called the next time a key
combination completes (assuming the cancel function is not called).
@param {keyCombinationListener} callbackFunction Function to call with the next
       completed key combination
@returns {function} Function to call to cancel listening for the next key
       combination