     @toolbarActions[actionName]?.perform?.call(this)
 
   toolbarDidToggleAttribute: (attributeName) ->
-    @undoManager.recordUndoEntry("Formatting", context: @getLocationContext(), consolidatable: true)
+    @recordFormattingUndoEntry()
     @composition.toggleCurrentAttribute(attributeName)
     @documentController.focus()
 
   toolbarDidUpdateAttribute: (attributeName, value) ->
-    @undoManager.recordUndoEntry("Formatting", context: @getLocationContext(), consolidatable: true)
+    @recordFormattingUndoEntry()
     @composition.setCurrentAttribute(attributeName, value)
     @documentController.focus()
 
   toolbarDidRemoveAttribute: (attributeName) ->
-    @undoManager.recordUndoEntry("Formatting", context: @getLocationContext(), consolidatable: true)
+    @recordFormattingUndoEntry()
     @composition.removeCurrentAttribute(attributeName)
     @documentController.focus()
 

  compositionDidChangeDocument: (document) ->
    @documentController.render()

  compositionDidChangeCurrentAttributes: (currentAttributes) ->
    @toolbarController.updateAttributes(currentAttributes)
    @toolbarController.updateActions()


    @mutationObserver.start()

  inputControllerDidComposeCharacters: (composedString) ->
    @recordTypingUndoEntry()
    @composition.insertString(composedString)

  # Selection manager delegate
