 
   # Deprecated: Use {::addKeymap} instead.
   add: (source, bindings) ->
+    Grim.deprecate("Use KeymapManager::addKeymap instead.")
     @addKeymap(source, bindings)
 
   # Deprecated: Use {::removeKeymap} instead.
   remove: (source) ->
+    Grim.deprecate("Use KeymapManager::removeKeymap instead.")
     @removeKeymap(source)
 
   # Deprecated: Handle a jQuery keyboard event. Use {::handleKeyboardEvent} with
   # a raw keyboard event instead.
   handleKeyEvent: (event) ->
+    Grim.deprecate("Use KeymapManager::handleKeyboardEvent instead.")
     originalEvent = event.originalEvent ? event
     Object.defineProperty(originalEvent, 'target', get: -> event.target) unless originalEvent.target?
     @handleKeyboardEvent(originalEvent)

  # Deprecated: Translate a jQuery keyboard event to a keystroke string. Use
  # {::keystrokeForKeyboardEvent} with a raw KeyboardEvent instead.
  keystrokeStringForEvent: (event) ->
    @keystrokeForKeyboardEvent(event.originalEvent ? event)

  # Deprecated: Use {::addKeymap} with a map from selectors to key
  # bindings.
  bindKeys: (source, selector, keyBindings) ->
    keyBindingsBySelector = {}
    keyBindingsBySelector[selector] = keyBindings
    @addKeymap(source, keyBindingsBySelector)

  # Deprecated: Use {::findKeyBindings} with the 'command' param.
  keyBindingsForCommand: (command) ->
    @findKeyBindings({command})

  # Deprecated: Use {::findKeyBindings} with the 'keystrokes' param.
  keyBindingsForKeystroke: (keystroke) ->
    @findKeyBindings({keystrokes: keystroke})

  # Deprecated: Use {::findKeyBindings} with the 'target' param.
  keyBindingsMatchingElement: (target, keyBindings) ->
    @findKeyBindings({target: target[0] ? target, keyBindings})

  # Deprecated: Use {::findKeyBindings} with the 'command' and 'target'
  # params
  keyBindingsForCommandMatchingElement: (command, target) ->
    @findKeyBindings({command, target: target[0] ? target})

  # Deprecated: Use {::findKeyBindings} with the 'keystrokes' and 'target'
  # params
  keyBindingsForKeystrokeMatchingElement: (keystrokes, target) ->
    @findKeyBindings({keystrokes, target: target[0] ? target})

_ = require "underscore-plus"
CSON = require 'season'
Grim = require 'grim'
fs = require 'fs-plus'
path = require 'path'
{Emitter} = require 'emissary'
