       .sort (a, b) -> a.compare(b)
 
   clearQueuedKeystrokes: ->
-    @queuedKeyboardEvents = []
-    @queuedKeystrokes = []
-    @bindingsToDisable = []
+    this.queuedKeyboardEvents = []
+    this.queuedKeystrokes = []
+    this.bindingsToDisable = []
 
   enterPendingState: (pendingPartialMatches, enableTimeout) ->
-    @cancelPendingState() if @pendingStateTimeoutHandle?
-    @pendingPartialMatches = pendingPartialMatches
+    this.cancelPendingState() if this.pendingStateTimeoutHandle?
+    this.pendingPartialMatches = pendingPartialMatches
     if enableTimeout
-      @pendingStateTimeoutHandle = setTimeout(@terminatePendingState.bind(this, true), @partialMatchTimeout)
+      this.pendingStateTimeoutHandle = setTimeout(this.terminatePendingState.bind(this, true), this.partialMatchTimeout)
 
   cancelPendingState: ->
-    clearTimeout(@pendingStateTimeoutHandle)
-    @pendingStateTimeoutHandle = null
-    @pendingPartialMatches = null
+    clearTimeout(this.pendingStateTimeoutHandle)
+    this.pendingStateTimeoutHandle = null
+    this.pendingPartialMatches = null
 
   # This is called by {::handleKeyboardEvent} when no matching bindings are
   # found for the currently queued keystrokes or by the pending state timeout.

    if document.contains(target)
      target.dispatchEvent(commandEvent)
    else
      @simulateBubblingOnDetachedTarget(target, commandEvent)

    {keyBindingAborted} = commandEvent
    keyboardEvent.preventDefault() unless keyBindingAborted

  #
  # Returns a {Disposable} on which `.dispose()` can be called to unsubscribe.
  onDidPartiallyMatchBindings: (callback) ->
    this.emitter.on 'did-partially-match-binding', callback

  # Public: Invoke the given callback when one or more keystrokes fail to match
  # any bindings.
