     if marker = editor.getLastCursor()?.getMarker()
       @activeEditor = editor
       @overlayDecoration = editor.decorateMarker(marker, {type: 'overlay', item: this})
-      @addKeyboardInteraction()
+      @addBindings(editor)
 
   hide: =>
     return if @activeEditor is null
     @destroyOverlay()
-    @removeKeyboardInteraction()
+    @bindings?.dispose()
     @activeEditor = null
 
   destroyOverlay: =>

      else
        keys['enter'] = 'autocomplete-plus:confirm'

    @keymaps = atom.keymaps.add('atom-text-editor.autocomplete-active', {'atom-text-editor.autocomplete-active': keys})
    @subscriptions.add(@keymaps)

  removeKeyboardInteraction: ->
    @keymaps?.dispose()
    @keymaps = null
    @subscriptions.remove(@keymaps)

  ###
  Section: Event Triggers

      'autocomplete-plus:confirm': @confirmSelection,
      'autocomplete-plus:confirmIfNonDefault': @confirmSelectionIfNonDefault,
      'autocomplete-plus:cancel': @cancel
    @subscriptions.add(atom.config.observe('autocomplete-plus.enableExtendedUnicodeSupport', (enableExtendedUnicodeSupport) =>
      if enableExtendedUnicodeSupport
        @wordPrefixRegex = new RegExp("^[#{UnicodeLetters}\\d_-]")
