], function(documentElement, utils) {
     
 'use strict';
-
+/* globals gettext */
 
 var KEYS = {
     ENTER: 13,
         if(Object.keys(cursor.getPosition()).length === 0) {
             var currentElement = canvas.getCurrentNodeElement();
             if(currentElement) {
-                canvas.wlxmlDocument.startTransaction();
+                canvas.wlxmlDocument.startTransaction(gettext('Splitting text'));
                 added = currentElement.wlxmlNode.after({
                     tagName: currentElement.getWlxmlTag() || 'div',
                     attrs: {'class': currentElement.getWlxmlClass() || 'p'}
                     element = element.parent();
                 }
 
-                canvas.wlxmlDocument.startTransaction();
+                canvas.wlxmlDocument.startTransaction(gettext('Splitting text'));
                 added = element.wlxmlNode.after(
                     {tagName: element.getWlxmlTag() || 'div', attrs: {'class': element.getWlxmlClass() || 'p'}}
                 );
                 //     goto = nodes.second;
                 //     gotoOptions = {caretTo: 'start'};
                 // }
+                var node = position.element.wlxmlNode,
+                    result, goto, gotoOptions;
+
+                node.document.transaction(function() {
+                    result = position.element.wlxmlNode.breakContent({offset: position.offset});
+                }, this, gettext('Splitting text'));
 
-                var result = position.element.wlxmlNode.breakContent({offset: position.offset}),
-                    goto, gotoOptions;
                 if(result.emptyText) {
                     goto = result.emptyText;
                     gotoOptions = {};
 
     
     var view = $(_.template(templateSrc)({utils: wlxmlUtils})),
         listens = false,
-        currentNode;
+        currentNode,
+        msgs = {
+            Tag: gettext('Tag editing'),
+            Class: gettext('Class editing')
+        };
     
     view.on('change', 'select', function(e) {
         var target = $(e.target);
         var attr = target.attr('class').split('-')[3] === 'tagSelect' ? 'Tag' : 'Class',
-            value = target.val().replace(/-/g, '.');
-        currentNode['set' + attr](value);
+            value = target.val().replace(/-/g, '.'),
+            oldValue = attr === 'Tag' ? currentNode.getTagName() : currentNode.getClass();
+        currentNode.document.transaction(function() {
+            currentNode['set' + attr](value);
+        }, this, msgs[attr] + ': ' + oldValue + ' -> ' + value);
     });