diff --git a/editors/demo/package.json b/editors/demo/package.json
index ce8eafc3658f72e0b83a0d6288c773d759cbecd7..d9bcaec31918f95c6c3a622f76da4874cc27815f 100644
--- a/editors/demo/package.json
+++ b/editors/demo/package.json
@@ -6,7 +6,6 @@
     "@guardian/prosemirror-invisibles": "^1.2.0",
     "@pubsweet/ui-toolkit": "^2.3.1",
     "fontsource-merriweather": "^3.0.9",
-    "prosemirror-tables": "^1.1.1",
     "react": "^16.13.1",
     "react-dom": "^16.13.1",
     "react-panelgroup": "^1.0.10",
diff --git a/wax-prosemirror-components/index.js b/wax-prosemirror-components/index.js
index 035796f961edca2a9de90e9da1d5b10b4062acab..c17751b53d88fa5d3b3f7727f295940b2b85189c 100644
--- a/wax-prosemirror-components/index.js
+++ b/wax-prosemirror-components/index.js
@@ -3,12 +3,10 @@ export { default as UndoRedoButton } from './src/components/UndoRedoButton';
 export { default as MenuButton } from './src/ui/buttons/MenuButton';
 export { default as icons } from './src/icons/icons';
 export { default as Icon } from './src/helpers/Icon';
-export { default as TableDropDown } from './src/components/tables/TableDropDown';
 export { default as TitleButton } from './src/components/TitleButton';
 export { default as ToolGroupComponent } from './src/components/ToolGroupComponent';
 export { default as ToolGroups } from './src/components/ToolGroups';
 
-export { default as CreateTable } from './src/components/tables/CreateTable';
 export { default as Tabs } from './src/ui/tabs/Tabs';
 export { default as BlockLevelTools } from './src/ui/tabs/BlockLevelTools';
 export { default as EditorInfoTool } from './src/components/EditorInfo/CounterInfo/EditorInfoTool';
diff --git a/wax-prosemirror-components/src/helpers/useOnClickOutside.js b/wax-prosemirror-components/src/helpers/useOnClickOutside.js
deleted file mode 100644
index 25dffb0b9611c8214b26e0949efdf18f33336967..0000000000000000000000000000000000000000
--- a/wax-prosemirror-components/src/helpers/useOnClickOutside.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import { useEffect } from 'react';
-
-// Hook
-const useOnClickOutside = (ref, handler) => {
-  useEffect(() => {
-    const listener = event => {
-      /* Do nothing if clicking ref's element or descendent elements */
-      if (!ref.current || ref.current.contains(event.target)) {
-        return;
-      }
-
-      handler(event);
-    };
-
-    document.addEventListener('mousedown', listener);
-    document.addEventListener('touchstart', listener);
-
-    return () => {
-      document.removeEventListener('mousedown', listener);
-      document.removeEventListener('touchstart', listener);
-    };
-  }, [ref, handler]);
-};
-
-export default useOnClickOutside;
diff --git a/wax-prosemirror-services/package.json b/wax-prosemirror-services/package.json
index 4b53308fa85ff0d8a45de137f23e589517b33379..61da46e69f6aca4037890faad6220b88540b7fba 100644
--- a/wax-prosemirror-services/package.json
+++ b/wax-prosemirror-services/package.json
@@ -37,7 +37,8 @@
     "wax-prosemirror-components": "^0.6.5",
     "wax-prosemirror-core": "^0.6.5",
      "@pubsweet/ui-toolkit": "^2.3.1",
-     "prop-types": "^15.7.2"
+     "prop-types": "^15.7.2",
+     "prosemirror-tables": "^1.1.1"
   },
   "peerDependencies": {
     "react": "^16.13.1",
diff --git a/wax-prosemirror-services/src/TablesService/EditTableService/TableDropDownOptions.js b/wax-prosemirror-services/src/TablesService/EditTableService/TableDropDownOptions.js
index ea2150b28da1b23d7e769068c6acaf4b30a762e0..eb7de94ed06613ad2c12d55b3dc31da8e3f0eed8 100644
--- a/wax-prosemirror-services/src/TablesService/EditTableService/TableDropDownOptions.js
+++ b/wax-prosemirror-services/src/TablesService/EditTableService/TableDropDownOptions.js
@@ -3,8 +3,8 @@ import React from 'react';
 import { v4 as uuidv4 } from 'uuid';
 import { injectable } from 'inversify';
 import { isEmpty } from 'lodash';
-import { TableDropDown } from 'wax-prosemirror-components';
 import { Commands, Tools } from 'wax-prosemirror-core';
+import TableDropDown from '../components/TableDropDown';
 
 @injectable()
 export default class TableDropDownOptions extends Tools {
@@ -31,7 +31,7 @@ export default class TableDropDownOptions extends Tools {
   renderTool(view) {
     if (isEmpty(view)) return null;
     return this._isDisplayed ? (
-      <TableDropDown key={uuidv4()} item={this.toJSON()} view={view} />
+      <TableDropDown item={this.toJSON()} key={uuidv4()} view={view} />
     ) : null;
   }
 }
diff --git a/wax-prosemirror-services/src/TablesService/InsertTableService/Table.js b/wax-prosemirror-services/src/TablesService/InsertTableService/Table.js
index bec9a069215b67a7a20b4f7f0df3206b2354a6fe..1c66b83f5ea40c87a0506c97d243638705eb53e1 100644
--- a/wax-prosemirror-services/src/TablesService/InsertTableService/Table.js
+++ b/wax-prosemirror-services/src/TablesService/InsertTableService/Table.js
@@ -2,8 +2,8 @@ import React from 'react';
 import { isEmpty } from 'lodash';
 import { v4 as uuidv4 } from 'uuid';
 import { injectable } from 'inversify';
-import { CreateTable } from 'wax-prosemirror-components';
 import { Commands, Tools } from 'wax-prosemirror-core';
+import CreateTable from '../components/CreateTable';
 
 @injectable()
 export default class Table extends Tools {
@@ -36,8 +36,9 @@ export default class Table extends Tools {
   renderTool(view) {
     if (isEmpty(view)) return null;
 
+    // eslint-disable-next-line no-underscore-dangle
     return this._isDisplayed ? (
-      <CreateTable key={uuidv4()} item={this.toJSON()} view={view} />
+      <CreateTable item={this.toJSON()} key={uuidv4()} view={view} />
     ) : null;
   }
 }
diff --git a/wax-prosemirror-components/src/components/tables/CreateTable.js b/wax-prosemirror-services/src/TablesService/components/CreateTable.js
similarity index 93%
rename from wax-prosemirror-components/src/components/tables/CreateTable.js
rename to wax-prosemirror-services/src/TablesService/components/CreateTable.js
index 8d16978214cd2ec6b81a2de687b6afd326a02f4b..c5bed82141e75c9489fca3a02f3d867d9cdd579d 100644
--- a/wax-prosemirror-components/src/components/tables/CreateTable.js
+++ b/wax-prosemirror-services/src/TablesService/components/CreateTable.js
@@ -3,8 +3,8 @@ import React, { useState, useContext, useMemo, useRef } from 'react';
 import { WaxContext, useOnClickOutside } from 'wax-prosemirror-core';
 import styled from 'styled-components';
 import { grid } from '@pubsweet/ui-toolkit';
-import MenuButton from '../../ui/buttons/MenuButton';
-import InsertTableTool from '../../ui/tables/InsertTableTool';
+import { MenuButton } from 'wax-prosemirror-components';
+import InsertTableTool from './InsertTableTool';
 
 const Wrapper = styled.div`
   font-size: 0;
diff --git a/wax-prosemirror-components/src/ui/tables/InsertTableTool.js b/wax-prosemirror-services/src/TablesService/components/InsertTableTool.js
similarity index 100%
rename from wax-prosemirror-components/src/ui/tables/InsertTableTool.js
rename to wax-prosemirror-services/src/TablesService/components/InsertTableTool.js
diff --git a/wax-prosemirror-components/src/components/tables/TableDropDown.js b/wax-prosemirror-services/src/TablesService/components/TableDropDown.js
similarity index 100%
rename from wax-prosemirror-components/src/components/tables/TableDropDown.js
rename to wax-prosemirror-services/src/TablesService/components/TableDropDown.js