diff --git a/editors/demo/src/HHMI/FillTheGapQuestionService/FillTheGapQuestion.js b/editors/demo/src/HHMI/FillTheGapQuestionService/FillTheGapQuestion.js
new file mode 100644
index 0000000000000000000000000000000000000000..4208c9187c0f0200c1290b9f24cad44e6551f007
--- /dev/null
+++ b/editors/demo/src/HHMI/FillTheGapQuestionService/FillTheGapQuestion.js
@@ -0,0 +1,25 @@
+import { injectable } from 'inversify';
+import { Tools } from 'wax-prosemirror-services';
+
+@injectable()
+class FillTheGapQuestion extends Tools {
+  title = 'Add Fill The Gap Question';
+  label = 'Fill The Gap';
+  name = 'Fill The Gap';
+
+  get run() {
+    return (view, context) => {};
+  }
+
+  get active() {
+    return state => {};
+  }
+
+  select = (state, activeViewId) => {};
+
+  get enable() {
+    return state => {};
+  }
+}
+
+export default FillTheGapQuestion;
diff --git a/editors/demo/src/HHMI/FillTheGapQuestionService/FillTheGapQuestionService.js b/editors/demo/src/HHMI/FillTheGapQuestionService/FillTheGapQuestionService.js
index dc8a934a4c39848ae62a85a4826fdbed77fc3dae..950093760da8cd0deb547d5bdcbfdc96dcdff3a0 100644
--- a/editors/demo/src/HHMI/FillTheGapQuestionService/FillTheGapQuestionService.js
+++ b/editors/demo/src/HHMI/FillTheGapQuestionService/FillTheGapQuestionService.js
@@ -1,7 +1,9 @@
 import { Service } from 'wax-prosemirror-services';
+import FillTheGapQuestion from './FillTheGapQuestion';
 
 class FillTheGapQuestionService extends Service {
   register() {
+    this.container.bind('FillTheGapQuestion').to(FillTheGapQuestion);
     const createNode = this.container.get('CreateNode');
     const addPortal = this.container.get('AddPortal');
   }
diff --git a/wax-prosemirror-components/package.json b/wax-prosemirror-components/package.json
index 0e98979f975afb76e2066618d1ce642d4f63afca..5c251345916102f883a16aa22897c9f902c53331 100644
--- a/wax-prosemirror-components/package.json
+++ b/wax-prosemirror-components/package.json
@@ -19,7 +19,7 @@
     "moment": "^2.29.0",
     "prop-types": "^15.7.2",
     "prosemirror-model": "1.14.3",
-    "prosemirror-state": "1.3.3",
+    "prosemirror-state": "1.3.4",
     "prosemirror-tables": "^1.1.1",
     "prosemirror-transform": "1.2.6",
     "react-dropdown": "^1.6.2",
@@ -30,10 +30,6 @@
     "wax-prosemirror-core": "^0.1.1",
     "wax-prosemirror-utilities": "^0.1.1"
   },
-  "resolutions": {
-    "prosemirror-model": "1.14.3",
-    "prosemirror-state": "1.3.3"
-  },
   "peerDependencies": {
     "react": "^16.13.1",
     "react-dom": "^16.13.1"
diff --git a/wax-prosemirror-core/package.json b/wax-prosemirror-core/package.json
index c0d010514c3a54ddb57b11cdac75e2494cd57796..d92523b4f2c0e031a660243f8628f45690417abc 100644
--- a/wax-prosemirror-core/package.json
+++ b/wax-prosemirror-core/package.json
@@ -25,7 +25,7 @@
     "prosemirror-inputrules": "1.1.3",
     "prosemirror-keymap": "1.1.4",
     "prosemirror-model": "1.14.3",
-    "prosemirror-state": "1.3.3",
+    "prosemirror-state": "1.3.4",
     "prosemirror-transform": "1.2.6",
     "prosemirror-view": "1.20.1",
     "reflect-metadata": "^0.1.13",
diff --git a/wax-prosemirror-core/src/WaxView.js b/wax-prosemirror-core/src/WaxView.js
index 45bb91c6fe331e8adf704fea3d7856536be76bb4..c8c2b38095f1b0b7686026a3b9600e49bba52fef 100644
--- a/wax-prosemirror-core/src/WaxView.js
+++ b/wax-prosemirror-core/src/WaxView.js
@@ -44,6 +44,7 @@ export default props => {
 
   if (!mounted) {
     context.app.bootServices();
+    console.log(context);
   }
 
   const setEditorRef = useCallback(
diff --git a/wax-prosemirror-plugins/package.json b/wax-prosemirror-plugins/package.json
index 7faaddaf8dba3e6e8d88b2c5b1b4855793957a0b..a3b5c446bc1b4ce231cb83ee49af6e29698bbbee 100644
--- a/wax-prosemirror-plugins/package.json
+++ b/wax-prosemirror-plugins/package.json
@@ -19,7 +19,7 @@
     "prosemirror-commands": "1.1.10",
     "prosemirror-highlightjs": "^0.2.0",
     "prosemirror-keymap": "1.1.4",
-    "prosemirror-state": "1.3.3",
+    "prosemirror-state": "1.3.4",
     "prosemirror-transform": "1.2.6",
     "prosemirror-view": "1.20.1",
     "wax-prosemirror-components": "^0.1.1",
diff --git a/wax-prosemirror-plugins/src/WaxSelectionPlugin.js b/wax-prosemirror-plugins/src/WaxSelectionPlugin.js
index 6be0677f0c82f7477a99d511efa9ea62961db116..66955860343a9107e074aebf466599161faaf0e4 100644
--- a/wax-prosemirror-plugins/src/WaxSelectionPlugin.js
+++ b/wax-prosemirror-plugins/src/WaxSelectionPlugin.js
@@ -1,7 +1,10 @@
 import { Decoration, DecorationSet } from 'prosemirror-view';
-import { Plugin } from 'prosemirror-state';
+import { Plugin, PluginKey } from 'prosemirror-state';
+
+const waxSelectionPlugin = new PluginKey('waxSelectionPlugin');
 
 const WaxSelectionPlugin = new Plugin({
+  key: waxSelectionPlugin,
   state: {
     init(config, instance) {
       return { deco: DecorationSet.empty };
diff --git a/wax-prosemirror-plugins/src/highlightPlugin.js b/wax-prosemirror-plugins/src/highlightPlugin.js
index 40ee57e2958a57efb19fea37563766ed0832d276..d18b22cc8a5b2e510a6725dffb6df0c54f24c2dd 100644
--- a/wax-prosemirror-plugins/src/highlightPlugin.js
+++ b/wax-prosemirror-plugins/src/highlightPlugin.js
@@ -1,10 +1,13 @@
 import hljs from 'highlight.js/lib/core';
 import { getHighlightDecorations } from 'prosemirror-highlightjs';
 import { DecorationSet } from 'prosemirror-view';
-import { Plugin } from 'prosemirror-state';
+import { Plugin, PluginKey } from 'prosemirror-state';
+
+const key = new PluginKey('codeHigh;ight');
 
 const highlightPlugin = (nodeTypes = ['code_block']) => {
   return new Plugin({
+    key,
     state: {
       init(_, instance) {
         const content = getHighlightDecorations(
diff --git a/wax-prosemirror-plugins/src/math/math-select.js b/wax-prosemirror-plugins/src/math/math-select.js
index 04741a1ca3176ab37cc1ffc0230fc6839c796e4a..753d97f3acce63bf6a96fb8c9c7b9607def2dd7a 100644
--- a/wax-prosemirror-plugins/src/math/math-select.js
+++ b/wax-prosemirror-plugins/src/math/math-select.js
@@ -1,7 +1,7 @@
 /* eslint-disable */
 
 // prosemirror imports
-import { Plugin as ProsePlugin } from 'prosemirror-state';
+import { Plugin as ProsePlugin, PluginKey } from 'prosemirror-state';
 import { DecorationSet, Decoration } from 'prosemirror-view';
 ////////////////////////////////////////////////////////////
 /**
@@ -10,6 +10,9 @@ import { DecorationSet, Decoration } from 'prosemirror-view';
  * @param arg Should be either a Transaction or an EditorState,
  *     although any object with `selection` and `doc` will work.
  */
+
+const mathSelect = new PluginKey('mathSelect');
+
 const checkSelection = arg => {
   let { from, to } = arg.selection;
   let content = arg.selection.content().content;
@@ -45,6 +48,7 @@ const checkSelection = arg => {
  * @todo (6/13/20) math selection rectangles are not quite even with text
  */
 const mathSelectPlugin = new ProsePlugin({
+  key: mathSelect,
   state: {
     init(config, partialState) {
       return checkSelection(partialState);
diff --git a/wax-prosemirror-services/package.json b/wax-prosemirror-services/package.json
index 2e4f474474edac6bc9b6d9ab0504112993ce6eda..6e7bdcdad06fd995455c4dbf01f05095322c6b16 100644
--- a/wax-prosemirror-services/package.json
+++ b/wax-prosemirror-services/package.json
@@ -22,7 +22,7 @@
     "prosemirror-keymap": "1.1.4",
     "prosemirror-model": "1.14.3",
     "prosemirror-schema-list": "1.1.4",
-    "prosemirror-state": "1.3.3",
+    "prosemirror-state": "1.3.4",
     "prosemirror-transform": "1.2.6",
     "prosemirror-view": "1.20.1",
     "styled-components": "^5.3.0",
diff --git a/wax-prosemirror-services/src/SchemaService/SchemaService.js b/wax-prosemirror-services/src/SchemaService/SchemaService.js
index 6606e38d0978a812854f83ff571617caf92347ef..2676d320c5bab6e267a96a6db89175149a60d18a 100644
--- a/wax-prosemirror-services/src/SchemaService/SchemaService.js
+++ b/wax-prosemirror-services/src/SchemaService/SchemaService.js
@@ -9,7 +9,6 @@ export default class SchemaService extends Service {
 
   register() {
     this.container.bind('Schema').to(Schema).inSingletonScope();
-
     this.container.bind('CreateNode').toFactory(context => {
       return (schema, options = { toWaxSchema: false }) => {
         const schemaInstance = context.container.get('Schema');
diff --git a/yarn.lock b/yarn.lock
index 99c33e8ef3a2b90c6b153e2c96eb02cf62c462a0..dc8bff650811672fa47fc372e3f6e37f5b491db1 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -14795,7 +14795,15 @@ prosemirror-schema-list@^1.0.0:
     prosemirror-model "^1.0.0"
     prosemirror-transform "^1.0.0"
 
-prosemirror-state@1.3.3, prosemirror-state@>=1.0.0, prosemirror-state@^1.0.0, prosemirror-state@^1.2.2, prosemirror-state@^1.3.1:
+prosemirror-state@1.3.4:
+  version "1.3.4"
+  resolved "https://registry.yarnpkg.com/prosemirror-state/-/prosemirror-state-1.3.4.tgz#4c6b52628216e753fc901c6d2bfd84ce109e8952"
+  integrity sha512-Xkkrpd1y/TQ6HKzN3agsQIGRcLckUMA9u3j207L04mt8ToRgpGeyhbVv0HI7omDORIBHjR29b7AwlATFFf2GLA==
+  dependencies:
+    prosemirror-model "^1.0.0"
+    prosemirror-transform "^1.0.0"
+
+prosemirror-state@>=1.0.0, prosemirror-state@^1.0.0, prosemirror-state@^1.2.2, prosemirror-state@^1.3.1:
   version "1.3.3"
   resolved "https://registry.yarnpkg.com/prosemirror-state/-/prosemirror-state-1.3.3.tgz#b2862866b14dec2b3ae1ab18229f2bd337651a2c"
   integrity sha512-PLXh2VJsIgvlgSTH6I2Yg6vk1CzPDp21DFreVpQtDMY2S6WaMmrQgDTLRcsrD8X38v8Yc873H7+ogdGzyIPn+w==