diff --git a/.eslintrc.js b/.eslintrc.js
index 55f6a6ca68d17c30f7387698f2b98c38849294b3..4bb224699202e35495b8e20dca596441531ac692 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -26,13 +26,13 @@ eslint.rules = {
     },
   ],
   'react/jsx-filename-extension': [1, { extensions: ['.js', '.jsx'] }],
-  'class-methods-use-this': [1, { exceptMethods: ['run', 'enable'] }],
+  'class-methods-use-this': [1, { exceptMethods: ['run', 'enable', 'active'] }],
 
   'react/prop-types': [
     2,
     { ignore: ['children', 'className', 'onClick', 'theme'] },
   ],
-  'import/no-named-as-default': 0,
+  // 'import/no-named-as-default': 0,
 };
 
 module.exports = eslint;
diff --git a/editors/editoria/src/config/config.js b/editors/editoria/src/config/config.js
index 397d80278df67942a72c87e2bb51a01cb133ece3..c37f64b137416b762528db006981ac8c28ff5049 100644
--- a/editors/editoria/src/config/config.js
+++ b/editors/editoria/src/config/config.js
@@ -58,6 +58,7 @@ export default {
 
   RulesService: [emDash, ellipsis],
   ShortCutsService: {},
+  TrackChangeService: { enabled: true },
 
   PmPlugins: [
     columnResizing(),
diff --git a/wax-prosemirror-services/index.js b/wax-prosemirror-services/index.js
index 0f53929b1d35c2498e4c4506d5e45f88f227cb74..9da4eae14ce49c0d6606647654776ca93c8e0dd4 100644
--- a/wax-prosemirror-services/index.js
+++ b/wax-prosemirror-services/index.js
@@ -40,3 +40,4 @@ export { default as DisplayToolGroupService } from './src/WaxToolGroups/DisplayT
 export { default as TextToolGroupService } from './src/WaxToolGroups/TextToolGroupService/TextToolGroupService';
 export { default as NoteToolGroupService } from './src/WaxToolGroups/NoteToolGroupService/NoteToolGroupService';
 export { default as CodeBlockToolGroupService } from './src/WaxToolGroups/CodeBlockToolGroupService/CodeBlockToolGroupService';
+export { default as TrackChangeToolGroupService } from './src/WaxToolGroups/TrackChangeToolGroupService/TrackChangeToolGroupService';
diff --git a/wax-prosemirror-services/src/BaseService/RedoService/Redo.js b/wax-prosemirror-services/src/BaseService/RedoService/Redo.js
index 9407f7f5bb872c317f47f10a36fd19c779595e6c..50864e061ae21b60022e2a0ac3708c3a70cceda7 100644
--- a/wax-prosemirror-services/src/BaseService/RedoService/Redo.js
+++ b/wax-prosemirror-services/src/BaseService/RedoService/Redo.js
@@ -1,18 +1,18 @@
-import { redo } from "prosemirror-history";
-import Tools from "../../lib/Tools";
-import { injectable } from "inversify";
-import { icons } from "wax-prosemirror-components";
+import { redo } from 'prosemirror-history';
+import Tools from '../../lib/Tools';
+import { injectable } from 'inversify';
+import { icons } from 'wax-prosemirror-components';
 
+export default
 @injectable()
-export default class Redo extends Tools {
-  title = "Redo last undone change";
+class Redo extends Tools {
+  title = 'Redo last undone change';
   content = icons.redo;
   onlyOnMain = true;
 
   get run() {
     return (state, dispatch) => {
-      const { tr } = state;
-      redo(state, tr => dispatch(tr.setMeta("inputType", "historyRedo")));
+      redo(state, tr => dispatch(tr.setMeta('inputType', 'historyRedo')));
     };
   }
 
diff --git a/wax-prosemirror-services/src/BaseService/UndoService/Undo.js b/wax-prosemirror-services/src/BaseService/UndoService/Undo.js
index 5e374ad9ee91953d5d3e514d556b5a71b5582459..f46fdd73720529e5ae9651de4512618bcff6984e 100644
--- a/wax-prosemirror-services/src/BaseService/UndoService/Undo.js
+++ b/wax-prosemirror-services/src/BaseService/UndoService/Undo.js
@@ -1,18 +1,18 @@
-import { undo } from "prosemirror-history";
-import Tools from "../../lib/Tools";
-import { injectable } from "inversify";
-import { icons } from "wax-prosemirror-components";
+import { undo } from 'prosemirror-history';
+import { injectable } from 'inversify';
+import { icons } from 'wax-prosemirror-components';
+import Tools from '../../lib/Tools';
 
+export default
 @injectable()
-export default class Undo extends Tools {
-  title = "Undo last change";
+class Undo extends Tools {
+  title = 'Undo last change';
   content = icons.undo;
   onlyOnMain = true;
 
   get run() {
     return (state, dispatch) => {
-      const { tr } = state;
-      undo(state, tr => dispatch(tr.setMeta("inputType", "historyUndo")));
+      undo(state, tr => dispatch(tr.setMeta('inputType', 'historyUndo')));
     };
   }
 
diff --git a/wax-prosemirror-services/src/CommentsService/CommentsService.js b/wax-prosemirror-services/src/CommentsService/CommentsService.js
index a728e91d4d46c2dae537c5e1938345fb4a1784a8..6a2b16d5fb00baf2375f96333b61ad76a8ebef10 100644
--- a/wax-prosemirror-services/src/CommentsService/CommentsService.js
+++ b/wax-prosemirror-services/src/CommentsService/CommentsService.js
@@ -1,7 +1,7 @@
-import Service from '../Service';
 import { commentMark } from 'wax-prosemirror-schema';
 import { RightArea, CommentBubbleComponent } from 'wax-prosemirror-components';
 import { CommentPlugin } from 'wax-prosemirror-plugins';
+import Service from '../Service';
 
 const PLUGIN_KEY = 'commentPlugin';
 
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/AuthorService.js b/wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/AuthorService.js
index f937c12580eacd66a3a41dd22e552807929c4e8a..0ee9279efbbaeabefc35fe8e0cdaa19dc7e4458e 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/AuthorService.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/AuthorService.js
@@ -1,18 +1,18 @@
-import Service from "../../Service";
-import { authorNode } from "wax-prosemirror-schema";
-import Author from "./Author";
+import { authorNode } from 'wax-prosemirror-schema';
+import Service from '../../Service';
+import Author from './Author';
 
 class AuthorService extends Service {
-  boot() {}
+  // boot() {}
 
   register() {
-    this.container.bind("Author").to(Author);
-    const createNode = this.container.get("CreateNode");
+    this.container.bind('Author').to(Author);
+    const createNode = this.container.get('CreateNode');
     createNode(
       {
-        author: authorNode
+        author: authorNode,
       },
-      { toWaxSchema: true }
+      { toWaxSchema: true },
     );
   }
 }
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetry.js b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetry.js
index 39092015b887f8231fdb677ada1fd625a68e5c95..819a449b1ec67d9c4b4f6cc39386068922b241a9 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetry.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetry.js
@@ -1,6 +1,6 @@
-import Tools from '../../lib/Tools';
 import { injectable } from 'inversify';
 import { Commands } from 'wax-prosemirror-utilities';
+import Tools from '../../lib/Tools';
 
 @injectable()
 class EpigraphPoetry extends Tools {
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetryService.js b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetryService.js
index dc8842b2034e1e9f1c1fb1feda33a894f96c6704..0f9e10a3ebcb31ee30686f2526c5f8d70ebcb814 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetryService.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetryService.js
@@ -1,18 +1,18 @@
-import Service from "../../Service";
-import { epigraphPoetryNode } from "wax-prosemirror-schema";
-import EpigraphPoetry from "./EpigraphPoetry";
+import { epigraphPoetryNode } from 'wax-prosemirror-schema';
+import EpigraphPoetry from './EpigraphPoetry';
+import Service from '../../Service';
 
 class EpigraphPoetryService extends Service {
-  boot() {}
+  // boot() {}
 
   register() {
-    this.container.bind("EpigraphPoetry").to(EpigraphPoetry);
-    const createNode = this.container.get("CreateNode");
+    this.container.bind('EpigraphPoetry').to(EpigraphPoetry);
+    const createNode = this.container.get('CreateNode');
     createNode(
       {
-        epigraphPoetry: epigraphPoetryNode
+        epigraphPoetry: epigraphPoetryNode,
       },
-      { toWaxSchema: true }
+      { toWaxSchema: true },
     );
   }
 }
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProse.js b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProse.js
index 0b800c069e6386d6de6f96b4279e0eabf6c0391d..d4a504b3554d4f20dbb0b58d31880e4d3fa1bc44 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProse.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProse.js
@@ -1,16 +1,17 @@
-import Tools from "../../lib/Tools";
-import { injectable } from "inversify";
-import { Commands } from "wax-prosemirror-utilities";
+import { injectable } from 'inversify';
+import { Commands } from 'wax-prosemirror-utilities';
+import Tools from '../../lib/Tools';
 
+export default
 @injectable()
-export default class EpigraphProse extends Tools {
-  title = "Change to Epigraph Prose";
-  content = "Epigraph Prose";
+class EpigraphProse extends Tools {
+  title = 'Change to Epigraph Prose';
+  content = 'Epigraph Prose';
 
   get run() {
     return (state, dispatch) => {
       Commands.setBlockType(state.config.schema.nodes.epigraphProse, {
-        class: "epigraph-prose"
+        class: 'epigraph-prose',
       })(state, dispatch);
     };
   }
@@ -18,7 +19,7 @@ export default class EpigraphProse extends Tools {
   get enable() {
     return state => {
       return Commands.setBlockType(state.config.schema.nodes.epigraphProse)(
-        state
+        state,
       );
     };
   }
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProseService.js b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProseService.js
index a32f9aaa041d636ccfde6d0960dd404cba3e55ab..b16be0c74d01a07a6ee817de2f1e8453c8fb3bbc 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProseService.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProseService.js
@@ -1,18 +1,18 @@
-import Service from "../../Service";
-import { epigraphProseNode } from "wax-prosemirror-schema";
-import EpigraphProse from "./EpigraphProse";
+import { epigraphProseNode } from 'wax-prosemirror-schema';
+import EpigraphProse from './EpigraphProse';
+import Service from '../../Service';
 
 class EpigraphProseService extends Service {
   boot() {}
 
   register() {
-    this.container.bind("EpigraphProse").to(EpigraphProse);
-    const createNode = this.container.get("CreateNode");
+    this.container.bind('EpigraphProse').to(EpigraphProse);
+    const createNode = this.container.get('CreateNode');
     createNode(
       {
-        epigraphProse: epigraphProseNode
+        epigraphProse: epigraphProseNode,
       },
-      { toWaxSchema: true }
+      { toWaxSchema: true },
     );
   }
 }
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading1.js b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading1.js
index 7cd58aec6fc8c3d468438f110ead120108d5b0a4..d1724fc9d888d2f21146d52be5c530ae8ca2800c 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading1.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading1.js
@@ -1,17 +1,18 @@
-import Tools from "../../lib/Tools";
-import { injectable } from "inversify";
-import { Commands } from "wax-prosemirror-utilities";
+import { injectable } from 'inversify';
+import { Commands } from 'wax-prosemirror-utilities';
+import Tools from '../../lib/Tools';
 
+export default
 @injectable()
-export default class Heading1 extends Tools {
-  title = "Change to heading level 1";
-  content = "Heading 1";
+class Heading1 extends Tools {
+  title = 'Change to heading level 1';
+  content = 'Heading 1';
 
   get run() {
     return (state, dispatch) => {
       Commands.setBlockType(state.config.schema.nodes.heading, { level: 1 })(
         state,
-        dispatch
+        dispatch,
       );
     };
   }
@@ -19,7 +20,7 @@ export default class Heading1 extends Tools {
   get enable() {
     return state => {
       return Commands.setBlockType(state.config.schema.nodes.heading, {
-        level: 1
+        level: 1,
       })(state);
     };
   }
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading2.js b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading2.js
index 77bc4d4eacc65e9d0c247573791bf91023312807..792d810b09767ca9fdab1a7a1e43717698af2a42 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading2.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading2.js
@@ -1,17 +1,18 @@
-import Tools from "../../lib/Tools";
-import { injectable } from "inversify";
-import { Commands } from "wax-prosemirror-utilities";
+import { injectable } from 'inversify';
+import { Commands } from 'wax-prosemirror-utilities';
+import Tools from '../../lib/Tools';
 
+export default
 @injectable()
-export default class Heading2 extends Tools {
-  title = "Change to heading level 2";
-  content = "Heading 2";
+class Heading2 extends Tools {
+  title = 'Change to heading level 2';
+  content = 'Heading 2';
 
   get run() {
     return (state, dispatch) => {
       Commands.setBlockType(state.config.schema.nodes.heading, { level: 2 })(
         state,
-        dispatch
+        dispatch,
       );
     };
   }
@@ -19,7 +20,7 @@ export default class Heading2 extends Tools {
   get enable() {
     return state => {
       return Commands.setBlockType(state.config.schema.nodes.heading, {
-        level: 2
+        level: 2,
       })(state);
     };
   }
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading3.js b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading3.js
index bf27f4bcef78b858d9b65eea8f79a0d51fe9fd2a..e1e133d52c26e6f93811586530aeb236a1c32d47 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading3.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading3.js
@@ -1,17 +1,18 @@
-import Tools from "../../lib/Tools";
-import { injectable } from "inversify";
-import { Commands } from "wax-prosemirror-utilities";
+import { injectable } from 'inversify';
+import { Commands } from 'wax-prosemirror-utilities';
+import Tools from '../../lib/Tools';
 
+export default
 @injectable()
-export default class Heading3 extends Tools {
-  title = "Change to heading level 3";
-  content = "Heading 3";
+class Heading3 extends Tools {
+  title = 'Change to heading level 3';
+  content = 'Heading 3';
 
   get run() {
     return (state, dispatch) => {
       Commands.setBlockType(state.config.schema.nodes.heading, { level: 3 })(
         state,
-        dispatch
+        dispatch,
       );
     };
   }
@@ -19,7 +20,7 @@ export default class Heading3 extends Tools {
   get enable() {
     return state => {
       return Commands.setBlockType(state.config.schema.nodes.heading, {
-        level: 3
+        level: 3,
       })(state);
     };
   }
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/HeadingService.js b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/HeadingService.js
index 6d4925468eed645fd513b64ecd7048f4913e6cf9..f75bbe6655b8a33d05b928cbf978d12ade9475d4 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/HeadingService.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/HeadingService.js
@@ -1,22 +1,22 @@
-import Service from "../../Service";
-import { headingNode } from "wax-prosemirror-schema";
-import Heading1 from "./Heading1";
-import Heading2 from "./Heading2";
-import Heading3 from "./Heading3";
+import { headingNode } from 'wax-prosemirror-schema';
+import Heading1 from './Heading1';
+import Heading2 from './Heading2';
+import Heading3 from './Heading3';
+import Service from '../../Service';
 
 class HeadingService extends Service {
-  boot() {}
+  // boot() {}
 
   register() {
-    this.container.bind("Heading1").to(Heading1);
-    this.container.bind("Heading2").to(Heading2);
-    this.container.bind("Heading3").to(Heading3);
-    const createNode = this.container.get("CreateNode");
+    this.container.bind('Heading1').to(Heading1);
+    this.container.bind('Heading2').to(Heading2);
+    this.container.bind('Heading3').to(Heading3);
+    const createNode = this.container.get('CreateNode');
     createNode(
       {
-        heading: headingNode
+        heading: headingNode,
       },
-      { toWaxSchema: true }
+      { toWaxSchema: true },
     );
   }
 }
diff --git a/wax-prosemirror-services/src/ImageService/Image.js b/wax-prosemirror-services/src/ImageService/Image.js
index 19d5643001312762319ff92de458dda5847892ed..7f0e6fea2b83d42969ee7b49c866a8e7d25adc38 100644
--- a/wax-prosemirror-services/src/ImageService/Image.js
+++ b/wax-prosemirror-services/src/ImageService/Image.js
@@ -1,15 +1,16 @@
-import React from "react";
-import { v4 as uuidv4 } from "uuid";
-import { isEmpty } from "lodash";
-import { injectable } from "inversify";
-import { icons, ImageUpload } from "wax-prosemirror-components";
-import Tools from "../lib/Tools";
-import { Commands } from "wax-prosemirror-utilities";
-import fileUpload from "./fileUpload";
+import React from 'react';
+import { v4 as uuidv4 } from 'uuid';
+import { isEmpty } from 'lodash';
+import { injectable } from 'inversify';
+import { icons, ImageUpload } from 'wax-prosemirror-components';
+import { Commands } from 'wax-prosemirror-utilities';
+import Tools from '../lib/Tools';
+import fileUpload from './fileUpload';
 
+export default
 @injectable()
-export default class Image extends Tools {
-  title = "Insert image";
+class Image extends Tools {
+  title = 'Insert image';
   content = icons.image;
 
   get run() {
@@ -26,8 +27,8 @@ export default class Image extends Tools {
     if (isEmpty(view)) return null;
     const upload = fileUpload(
       view,
-      this.config.get("fileUpload"),
-      this.pmplugins.get("imagePlaceHolder")
+      this.config.get('fileUpload'),
+      this.pmplugins.get('imagePlaceHolder'),
     );
     return this._isDisplayed ? (
       <ImageUpload key={uuidv4()} item={this.toJSON()} fileUpload={upload} />
diff --git a/wax-prosemirror-services/src/ImageService/ImageService.js b/wax-prosemirror-services/src/ImageService/ImageService.js
index 8e2ed795c1ade1d09a6dd65f14383e102f3d196f..526d22e5259691429a1c703e9eb08cef3e93b438 100644
--- a/wax-prosemirror-services/src/ImageService/ImageService.js
+++ b/wax-prosemirror-services/src/ImageService/ImageService.js
@@ -1,18 +1,18 @@
-import Service from "../Service";
-import Image from "./Image";
-import { imageNode } from "wax-prosemirror-schema";
+import { imageNode } from 'wax-prosemirror-schema';
+import Service from '../Service';
+import Image from './Image';
 
 export default class ImageService extends Service {
-  name = "ImageService";
+  name = 'ImageService';
 
   register() {
-    this.container.bind("Image").to(Image);
-    const createNode = this.container.get("CreateNode");
+    this.container.bind('Image').to(Image);
+    const createNode = this.container.get('CreateNode');
     createNode(
       {
-        image: imageNode
+        image: imageNode,
       },
-      { toWaxSchema: true }
+      { toWaxSchema: true },
     );
   }
 }
diff --git a/wax-prosemirror-services/src/InlineAnnotations/CodeService/Code.js b/wax-prosemirror-services/src/InlineAnnotations/CodeService/Code.js
index ba88b541c0b58bb0d2485e681af6a1a1adfa4c01..a6ccd2ffc87c4f27e79ca74971b30843a9d9b965 100644
--- a/wax-prosemirror-services/src/InlineAnnotations/CodeService/Code.js
+++ b/wax-prosemirror-services/src/InlineAnnotations/CodeService/Code.js
@@ -1,12 +1,13 @@
-import { toggleMark } from "prosemirror-commands";
-import { Commands } from "wax-prosemirror-utilities";
-import Tools from "../../lib/Tools";
-import { injectable } from "inversify";
-import { icons } from "wax-prosemirror-components";
+import { toggleMark } from 'prosemirror-commands';
+import { Commands } from 'wax-prosemirror-utilities';
+import Tools from '../../lib/Tools';
+import { injectable } from 'inversify';
+import { icons } from 'wax-prosemirror-components';
 
+export default
 @injectable()
-export default class Code extends Tools {
-  title = "Toggle code";
+class Code extends Tools {
+  title = 'Toggle code';
   content = icons.code;
 
   get run() {
diff --git a/wax-prosemirror-services/src/InlineAnnotations/CodeService/CodeService.js b/wax-prosemirror-services/src/InlineAnnotations/CodeService/CodeService.js
index 833699625840277e7c9ebc37db97b9babe24347f..f9be7a4d68edc30e31fc54e77fc72d345cd9159d 100644
--- a/wax-prosemirror-services/src/InlineAnnotations/CodeService/CodeService.js
+++ b/wax-prosemirror-services/src/InlineAnnotations/CodeService/CodeService.js
@@ -1,22 +1,22 @@
-import Service from "../../Service";
-import { toggleMark } from "prosemirror-commands";
-import { codeMark } from "wax-prosemirror-schema";
-import Code from "./Code";
+import { toggleMark } from 'prosemirror-commands';
+import { codeMark } from 'wax-prosemirror-schema';
+import Code from './Code';
+import Service from '../../Service';
 
 class CodeService extends Service {
   boot() {
-    const shortCuts = this.container.get("ShortCuts");
-    shortCuts.addShortCut({ "Mod-`": toggleMark(this.schema.marks.code) });
+    const shortCuts = this.container.get('ShortCuts');
+    shortCuts.addShortCut({ 'Mod-`': toggleMark(this.schema.marks.code) });
   }
 
   register() {
-    this.container.bind("Code").to(Code);
-    const createMark = this.container.get("CreateMark");
+    this.container.bind('Code').to(Code);
+    const createMark = this.container.get('CreateMark');
     createMark(
       {
-        code: codeMark
+        code: codeMark,
       },
-      { toWaxSchema: true }
+      { toWaxSchema: true },
     );
   }
 }
diff --git a/wax-prosemirror-services/src/InlineAnnotations/EmphasisService/Emphasis.js b/wax-prosemirror-services/src/InlineAnnotations/EmphasisService/Emphasis.js
index e248a1604c6ed67b02a669fe8f3786181be91d8a..89f79677f31fa78149b2057830d1f7c70216cf71 100644
--- a/wax-prosemirror-services/src/InlineAnnotations/EmphasisService/Emphasis.js
+++ b/wax-prosemirror-services/src/InlineAnnotations/EmphasisService/Emphasis.js
@@ -1,12 +1,13 @@
-import { toggleMark } from "prosemirror-commands";
-import { Commands } from "wax-prosemirror-utilities";
-import Tools from "../../lib/Tools";
-import { injectable } from "inversify";
-import { icons } from "wax-prosemirror-components";
+import { toggleMark } from 'prosemirror-commands';
+import { Commands } from 'wax-prosemirror-utilities';
+import Tools from '../../lib/Tools';
+import { injectable } from 'inversify';
+import { icons } from 'wax-prosemirror-components';
 
+export default
 @injectable()
-export default class Emphasis extends Tools {
-  title = "Toggle emphasis";
+class Emphasis extends Tools {
+  title = 'Toggle emphasis';
   content = icons.em;
 
   get run() {
diff --git a/wax-prosemirror-services/src/InlineAnnotations/EmphasisService/EmphasisService.js b/wax-prosemirror-services/src/InlineAnnotations/EmphasisService/EmphasisService.js
index 11f2e42c2552130fbe7eeeb4cde9f539e23c5aef..859babb1069f24d8a3f8ccd195bf528234e57b7f 100644
--- a/wax-prosemirror-services/src/InlineAnnotations/EmphasisService/EmphasisService.js
+++ b/wax-prosemirror-services/src/InlineAnnotations/EmphasisService/EmphasisService.js
@@ -1,22 +1,22 @@
-import Service from "../../Service";
-import { toggleMark } from "prosemirror-commands";
-import { emphasisMark } from "wax-prosemirror-schema";
-import Emphasis from "./Emphasis";
+import { toggleMark } from 'prosemirror-commands';
+import { emphasisMark } from 'wax-prosemirror-schema';
+import Emphasis from './Emphasis';
+import Service from '../../Service';
 
 class EmphasisService extends Service {
   boot() {
-    const shortCuts = this.container.get("ShortCuts");
-    shortCuts.addShortCut({ "Mod-i": toggleMark(this.schema.marks.em) });
+    const shortCuts = this.container.get('ShortCuts');
+    shortCuts.addShortCut({ 'Mod-i': toggleMark(this.schema.marks.em) });
   }
 
   register() {
-    this.container.bind("Emphasis").to(Emphasis);
-    const createMark = this.container.get("CreateMark");
+    this.container.bind('Emphasis').to(Emphasis);
+    const createMark = this.container.get('CreateMark');
     createMark(
       {
-        em: emphasisMark
+        em: emphasisMark,
       },
-      { toWaxSchema: true }
+      { toWaxSchema: true },
     );
   }
 }
diff --git a/wax-prosemirror-services/src/WaxToolGroups/TrackChangeToolGroupService/TrackChange.js b/wax-prosemirror-services/src/WaxToolGroups/TrackChangeToolGroupService/TrackChange.js
new file mode 100644
index 0000000000000000000000000000000000000000..f494b177fb27b3ff7cbd2148c6ed2c809dc8c827
--- /dev/null
+++ b/wax-prosemirror-services/src/WaxToolGroups/TrackChangeToolGroupService/TrackChange.js
@@ -0,0 +1,13 @@
+import { injectable, inject } from 'inversify';
+import ToolGroup from '../../lib/ToolGroup';
+
+@injectable()
+class TrackChange extends ToolGroup {
+  tools = [];
+  constructor() {
+    super();
+    this.tools = [];
+  }
+}
+
+export default TrackChange;
diff --git a/wax-prosemirror-services/src/WaxToolGroups/TrackChangeToolGroupService/TrackChangeToolGroupService.js b/wax-prosemirror-services/src/WaxToolGroups/TrackChangeToolGroupService/TrackChangeToolGroupService.js
new file mode 100644
index 0000000000000000000000000000000000000000..96a6719b803613f85c7df970075288ad3ad0b5c9
--- /dev/null
+++ b/wax-prosemirror-services/src/WaxToolGroups/TrackChangeToolGroupService/TrackChangeToolGroupService.js
@@ -0,0 +1,10 @@
+import Service from '../../Service';
+import TrackChange from './TrackChange';
+
+class TrackChangeToolGroupService extends Service {
+  register() {
+    this.container.bind('TrackChange').to(TrackChange);
+  }
+}
+
+export default TrackChangeToolGroupService;