diff --git a/editors/editoria/src/EditorConfig.js b/editors/editoria/src/EditorConfig.js
index 9814b90e9e6d762b357b623b0930a4c9898e0aba..3685f4ecad6bc1b123fdc82f4e21749166c0c6e6 100644
--- a/editors/editoria/src/EditorConfig.js
+++ b/editors/editoria/src/EditorConfig.js
@@ -25,7 +25,7 @@ import invisibles, {
 } from "@guardian/prosemirror-invisibles";
 import { LayoutService } from "./customServices/LayoutService/LayoutService";
 
-import { CreateSchema, CreateShortCuts } from "wax-prosemirror-core";
+import { CreateSchema } from "wax-prosemirror-core";
 import {
   LinkToolTipPlugin,
   FindAndReplacePlugin,
@@ -49,35 +49,6 @@ const extraNodes = {
 EditoriaSchema.nodes = { ...EditoriaSchema.nodes, ...extraNodes };
 const schema = new CreateSchema(EditoriaSchema);
 
-const shortCuts = {
-  "Mod-b": toggleMark(schema.marks.strong),
-  "Mod-i": toggleMark(schema.marks.em),
-  "Mod-u": toggleMark(schema.marks.underline),
-  "Mod-`": toggleMark(schema.marks.code),
-  "Ctrl->": wrapIn(schema.nodes.blockquote),
-  Enter: splitListItem(schema.nodes.list_item),
-  "Mod-[": liftListItem(schema.nodes.list_item),
-  "Mod-]": sinkListItem(schema.nodes.list_item),
-  "Alt-ArrowUp": joinUp,
-  "Alt-ArrowDown": joinDown,
-  "Mod-BracketLeft": lift,
-  Tab: goToNextCell(1),
-  "Shift-Tab": goToNextCell(-1),
-  "Shift-Ctrl-0": setBlockType(schema.nodes.paragraph),
-  "Shift-Ctrl-\\": setBlockType(schema.nodes.code_block),
-  "Shift-Ctrl-8": wrapInList(schema.nodes.bullet_list),
-  "Shift-Ctrl-9": wrapInList(schema.nodes.ordered_list),
-  "Shift-Ctrl-1": setBlockType(schema.nodes.heading, { level: 1 }),
-  "Shift-Ctrl-2": setBlockType(schema.nodes.heading, { level: 2 }),
-  "Shift-Ctrl-3": setBlockType(schema.nodes.heading, { level: 3 }),
-  "Shift-Ctrl-4": setBlockType(schema.nodes.heading, { level: 4 }),
-  "Shift-Ctrl-5": setBlockType(schema.nodes.heading, { level: 5 }),
-  "Shift-Ctrl-6": setBlockType(schema.nodes.heading, { level: 6 })
-};
-
-// Create shortCuts
-const keys = new CreateShortCuts({ schema, shortCuts });
-
 // Add Plugins
 const plugins = [
   columnResizing(),
@@ -101,4 +72,4 @@ const services = [new LinkService()];
 
 // Add Rules
 
-export { schema, keys, plugins, services };
+export { schema, plugins, services };
diff --git a/editors/editoria/src/config/config.js b/editors/editoria/src/config/config.js
index 82fb3775f1ed02ff8924f5e6641e27626487ccd4..2cb49b66c68b238fd11e655a05d375b92b9c4963 100644
--- a/editors/editoria/src/config/config.js
+++ b/editors/editoria/src/config/config.js
@@ -15,5 +15,10 @@ export default {
     {
       rules: [emDash, ellipsis]
     }
+  ],
+  RulesService: [
+    {
+      shortCuts: {}
+    }
   ]
 };
diff --git a/wax-prosemirror-core/index.js b/wax-prosemirror-core/index.js
index 098d569b9b5b4ac72254921ab4638e2e363826e4..62a4c8a7281bf2bc4105848174966dff08684cba 100644
--- a/wax-prosemirror-core/index.js
+++ b/wax-prosemirror-core/index.js
@@ -1,6 +1,3 @@
 export { default as Wax } from "./src/Wax";
 export { default as CreateSchema } from "./src/config/classes/CreateSchema";
-export {
-  default as CreateShortCuts
-} from "./src/config/classes/CreateShortCuts";
 export { default as Service } from "./src/services/Service";
diff --git a/wax-prosemirror-core/src/Config/defaultConfig.js b/wax-prosemirror-core/src/Config/defaultConfig.js
index 10ea27853f1331c5715b35451e9d618a0a9c4648..d49e24606755ced55768d430ebc6104ef7c20046 100644
--- a/wax-prosemirror-core/src/Config/defaultConfig.js
+++ b/wax-prosemirror-core/src/Config/defaultConfig.js
@@ -1,17 +1,19 @@
 import LayoutService from "../services/LayoutService/LayoutService";
 import {
-  MenuService,
   AnnotationService,
+  ImageService,
+  MenuService,
   RedoUndoService,
-  TextStyleService,
   PlaceholderService,
-  ImageService,
-  RulesService
+  RulesService,
+  ShortCutsService,
+  TextStyleService
 } from "wax-prosemirror-plugins";
 
 export default {
   services: [
     new RulesService(),
+    new ShortCutsService(),
     new LayoutService(),
     new MenuService(),
     new RedoUndoService(),
diff --git a/wax-prosemirror-core/src/Wax.js b/wax-prosemirror-core/src/Wax.js
index 7588a2b58376373a826f92d5e1c364512b3cb69f..1b4a6ab2b6399d3a066e489c1a287e621f362d21 100644
--- a/wax-prosemirror-core/src/Wax.js
+++ b/wax-prosemirror-core/src/Wax.js
@@ -11,8 +11,6 @@ import WaxView from "./WaxView";
 import defaultPlugins from "./config/defaultPlugins";
 import placeholder from "./config/plugins/placeholder";
 
-import CreateShortCuts from "./config/classes/CreateShortCuts";
-
 const parser = schema => {
   const parser = DOMParser.fromSchema(schema);
 
diff --git a/wax-prosemirror-plugins/index.js b/wax-prosemirror-plugins/index.js
index 9e3aedf8b11a8d1efa8c89045557691189e5aa73..b0e89fe7d53137c22bcfe184d04f204152e21734 100644
--- a/wax-prosemirror-plugins/index.js
+++ b/wax-prosemirror-plugins/index.js
@@ -19,5 +19,7 @@ export {
 } from "./src/PlaceholderService/PlaceholderService";
 export { default as ImageService } from "./src/ImageService/ImageService";
 export { default as RulesService } from "./src/RulesService/RulesService";
-
+export {
+  default as ShortCutsService
+} from "./src/ShortCutsService/ShortCutsService";
 export { default as Tool } from "./src/lib/Tools";
diff --git a/wax-prosemirror-plugins/src/RulesService/Rules.js b/wax-prosemirror-plugins/src/RulesService/Rules.js
index 041ac1c75f8dc75b4158121de163ce8e3de256e6..465e4fbb8390fbd23ebdb9da28e9266bac101b4c 100644
--- a/wax-prosemirror-plugins/src/RulesService/Rules.js
+++ b/wax-prosemirror-plugins/src/RulesService/Rules.js
@@ -1,4 +1,4 @@
-import { injectable, inject } from "inversify";
+import { injectable } from "inversify";
 import {
   inputRules,
   wrappingInputRule,
diff --git a/wax-prosemirror-core/src/config/classes/CreateShortCuts.js b/wax-prosemirror-plugins/src/ShortCutsService/ShortCuts.js
similarity index 94%
rename from wax-prosemirror-core/src/config/classes/CreateShortCuts.js
rename to wax-prosemirror-plugins/src/ShortCutsService/ShortCuts.js
index 98986fb1c11e1aebd17baa76ef4075454bcbb666..f8a27e94799546abe43f04099d259519e265dba6 100644
--- a/wax-prosemirror-core/src/config/classes/CreateShortCuts.js
+++ b/wax-prosemirror-plugins/src/ShortCutsService/ShortCuts.js
@@ -1,3 +1,4 @@
+import { injectable } from "inversify";
 import { keymap } from "prosemirror-keymap";
 import { undoInputRule } from "prosemirror-inputrules";
 import { undo, redo } from "prosemirror-history";
@@ -10,7 +11,8 @@ import {
   selectParentNode
 } from "prosemirror-commands";
 
-class CreateShortCuts {
+@injectable()
+class ShortCuts {
   constructor(config) {
     this.schema = config.schema;
     this.shortCuts = config.shortCuts;
@@ -63,4 +65,4 @@ class CreateShortCuts {
   }
 }
 
-export default CreateShortCuts;
+export default ShortCuts;
diff --git a/wax-prosemirror-plugins/src/ShortCutsService/ShortCutsService.js b/wax-prosemirror-plugins/src/ShortCutsService/ShortCutsService.js
new file mode 100644
index 0000000000000000000000000000000000000000..5424d0cd38760f07fbaffd913b39bbff0d9e6dd0
--- /dev/null
+++ b/wax-prosemirror-plugins/src/ShortCutsService/ShortCutsService.js
@@ -0,0 +1,9 @@
+import Service from "wax-prosemirror-core/src/services/Service";
+import ShortCuts from "./ShortCuts";
+
+export default class ShortCutsService extends Service {
+  name = "ShortCutsService";
+
+  boot() {}
+  register() {}
+}