       .join '-'
 
 
+  # Given a keyconfig model json and a callback, converts it to conform to the ace command spec.
+  #
+  # See: https://github.com/ajaxorg/ace/blob/v1.1.4/lib/ace/commands/default_commands.js
+  #
   toCommand = (model, exec) ->
 
-    # given a keyconfig model json and a callback, converts it to
-    # conform to the ace command spec.
+    binding = model.binding[0]
+
+    # Since shortcuts#change emits a raw keyconfig.Model, binding prop might include
+    # all bindings for all platforms.
     #
-    # see: https://github.com/ajaxorg/ace/blob/v1.1.4/lib/ace/commands/default_commands.js
-
-    binding = model.binding[0]
-
-    # since shortcuts#change emits a raw keyconfig.Model, binding prop might include
-    # all bindings for all platforms.
-    # in that case we need to get platform bindings explicitly:
+    # In that case we need to get platform bindings explicitly:
     if _.isArray binding
       { shortcuts } = kd.singletons
       binding = shortcuts.getPlatformBinding(model)[0]

    @setSyntax()
    @setEditorListeners()
    @setShortcuts yes

    { shortcuts } = kd.singletons
    shortcuts.on 'change', @bound 'handleShortcutChange'

    @appStorage.fetchStorage (storage) =>


    shortcuts.removeListener 'change', @bound 'handleShortcutChange'
    emmetLoadListeners[@id] = null  unless _.isNull emmetLoadListeners

    @_commandFns = null

    super


