diff --git a/lib/ace/keybinding.js b/lib/ace/keybinding.js
index <HASH>..<HASH> 100644
--- a/lib/ace/keybinding.js
+++ b/lib/ace/keybinding.js
@@ -41,7 +41,7 @@ var core = require("pilot/core").core;
 var event = require("pilot/event").event;
 var default_mac = require("ace/conf/keybindings/default_mac").bindings;
 var default_win = require("ace/conf/keybindings/default_win").bindings;
-var PluginManager = require("pilot/plugin_manager").PluginManager;
+var canon = require("pilot/canon");
 require("ace/commands/default_commands");
 
 var KeyBinding = function(element, editor, config) {
@@ -55,11 +55,9 @@ var KeyBinding = function(element, editor, config) {
 
         var commandName = (_self.config.reverse[hashId] || {})[(key
             || String.fromCharCode(e.keyCode)).toLowerCase()];
-        var command = PluginManager.commands[commandName];
 
-        if (command) {
-            var env = { editor: editor, selection: editor.getSelection() };
-            command(env);
+        var success = canon.exec(commandName);
+        if (success) {
             return event.stopEvent(e);
         }
     });
make keybindings use the canon