diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceQuestion.js b/editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceQuestion.js
index bf84c981f8c7c76baf734b4adc6f5dfb378d16f3..1cb916c2047156b22c0026caa9a80a751a887490 100644
--- a/editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceQuestion.js
+++ b/editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceQuestion.js
@@ -41,7 +41,7 @@ class MultipleChoiceQuestion extends Tools {
             {},
           );
       if (!wrapping) return false;
-      if (dispatch) tr.wrap(range, wrapping).scrollIntoView();
+      tr.wrap(range, wrapping).scrollIntoView();
 
       /* create First Option */
       const newAnswerId = uuidv4();
diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/EditorComponent.js b/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/EditorComponent.js
index ce3a4f1e3c600fb5b5d702323ab3f5e7c6041804..5e40c26b5e182d1c9a1abc7e04b1a47123602afb 100644
--- a/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/EditorComponent.js
+++ b/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/EditorComponent.js
@@ -102,7 +102,7 @@ const EditorComponent = ({ node, view, getPos }) => {
         }),
         // This is the magic part
         dispatchTransaction,
-        disallowedTools: ['images'],
+        disallowedTools: ['images', 'lists', 'lift'],
         handleDOMEvents: {
           mousedown: () => {
             context.view[activeViewId].dispatch(
diff --git a/wax-prosemirror-components/src/components/Button.js b/wax-prosemirror-components/src/components/Button.js
index d45d543c5abbdf6325c5c5a98a4fb10b911deb71..14f7c44e6d8772075e4f4b76d4c7e6b4190377b3 100644
--- a/wax-prosemirror-components/src/components/Button.js
+++ b/wax-prosemirror-components/src/components/Button.js
@@ -26,7 +26,8 @@ const Button = ({ view = {}, item }) => {
   };
 
   const isActive = !!(
-    active(state, activeViewId) && select(state, activeViewId)
+    active(activeView.state, activeViewId) &&
+    select(state, activeViewId, activeView)
   );
 
   let isDisabled = !select(state, activeViewId, activeView);
@@ -39,7 +40,9 @@ const Button = ({ view = {}, item }) => {
         disabled={isDisabled}
         iconName={icon}
         label={label}
-        onMouseDown={e => handleMouseDown(e, view.state, view.dispatch)}
+        onMouseDown={e =>
+          handleMouseDown(e, activeView.state, activeView.dispatch)
+        }
         title={title}
       />
     ),
diff --git a/wax-prosemirror-services/src/CodeBlockService/CodeBlockTool.js b/wax-prosemirror-services/src/CodeBlockService/CodeBlockTool.js
index f490f7623b364de489af889fc860f7172cd1a90a..b6a816e841846e4baeb6a8c5872299c9e2588a80 100644
--- a/wax-prosemirror-services/src/CodeBlockService/CodeBlockTool.js
+++ b/wax-prosemirror-services/src/CodeBlockService/CodeBlockTool.js
@@ -14,8 +14,9 @@ class CodeBlockTool extends Tools {
     };
   }
 
-  select = (state, activeViewId) => {
-    if (activeViewId !== 'main') return false;
+  select = (state, activeViewId, activeView) => {
+    const { disallowedTools } = activeView.props;
+    if (disallowedTools.includes('codeBlock')) return false;
     return true;
   };
 
diff --git a/wax-prosemirror-services/src/ListsService/BulletListService/BulletList.js b/wax-prosemirror-services/src/ListsService/BulletListService/BulletList.js
index 993287546a73582e6260b843c9769cda1c384816..36e60381576af5b81ece1ca53388f7b029368af2 100644
--- a/wax-prosemirror-services/src/ListsService/BulletListService/BulletList.js
+++ b/wax-prosemirror-services/src/ListsService/BulletListService/BulletList.js
@@ -24,8 +24,9 @@ class BulletList extends Tools {
     };
   }
 
-  select = (state, activeViewId) => {
-    if (activeViewId !== 'main') return false;
+  select = (state, activeViewId, activeView) => {
+    const { disallowedTools } = activeView.props;
+    if (disallowedTools.includes('lists')) return false;
     return true;
   };
 
diff --git a/wax-prosemirror-services/src/ListsService/LiftService/Lift.js b/wax-prosemirror-services/src/ListsService/LiftService/Lift.js
index e6966e185aef035665924390440f714eb248a0fe..285148f7666d42fc46d3093d5c774e16a81a9299 100644
--- a/wax-prosemirror-services/src/ListsService/LiftService/Lift.js
+++ b/wax-prosemirror-services/src/ListsService/LiftService/Lift.js
@@ -9,9 +9,11 @@ class Lift extends Tools {
   icon = 'indentDecrease';
   name = 'Lift';
 
-  select(state) {
+  select = (state, activeViewId, activeView) => {
+    const { disallowedTools } = activeView.props;
+    if (disallowedTools.includes('lift')) return false;
     return lift(state);
-  }
+  };
 
   get run() {
     return lift;
diff --git a/wax-prosemirror-services/src/ListsService/ListItemService/ListItemService.js b/wax-prosemirror-services/src/ListsService/ListItemService/ListItemService.js
index 828e4436c8c56b3fab8d4ebf3d13597be2fa2454..776f5315f48b375797ba4a5b023fb9dcccd636b1 100644
--- a/wax-prosemirror-services/src/ListsService/ListItemService/ListItemService.js
+++ b/wax-prosemirror-services/src/ListsService/ListItemService/ListItemService.js
@@ -1,16 +1,14 @@
-import Service from "../../Service";
-import { listItemNode } from "wax-prosemirror-schema";
+import { listItemNode } from 'wax-prosemirror-schema';
+import Service from '../../Service';
 
 class ListItemService extends Service {
-  boot() {}
-
   register() {
-    const createNode = this.container.get("CreateNode");
+    const createNode = this.container.get('CreateNode');
     createNode(
       {
-        list_item: listItemNode
+        list_item: listItemNode,
       },
-      { toWaxSchema: true }
+      { toWaxSchema: true },
     );
   }
 }
diff --git a/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedList.js b/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedList.js
index 7a0f67cdca76938635e5c8d3c99d3253c64ce049..d0b2119a51e8828f1ecd736e32f273ee145767cb 100644
--- a/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedList.js
+++ b/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedList.js
@@ -3,7 +3,7 @@ import { wrapInList } from 'prosemirror-schema-list';
 import { Commands } from 'wax-prosemirror-utilities';
 import Tools from '../../lib/Tools';
 
-export default 
+export default
 @injectable()
 class OrderedList extends Tools {
   title = 'Wrap in ordered list';
@@ -22,8 +22,9 @@ class OrderedList extends Tools {
     };
   }
 
-  select = (state, activeViewId) => {
-    if (activeViewId !== 'main') return false;
+  select = (state, activeViewId, activeView) => {
+    const { disallowedTools } = activeView.props;
+    if (disallowedTools.includes('lists')) return false;
     return true;
   };