   Edits made within the editing function will eventually fire _onDOMMutated
   ###
   atomicEdit: (editingFunction, extraArgsObj={}) =>
-    @_teardownListeners()
+    @_teardownNonMutationListeners()
 
     editor = new EditorAPI(@_editableNode())
 


  componentWillUnmount: =>
    @_mutationObserver.disconnect()
    @_teardownListeners()
    @_teardownServices()

  setInnerState: (innerState={}) =>

  # composition event starts. Without the `_inCompositionEvent` flag
  # stopping the re-render, the asynchronous update request will cause us
  # to re-render and blow away our newly started 2nd composition event.
  #
  # While we're in a composition event it's important that `_onDOMMutated`
  # still get fired so the selection gets updated and the latest body
  # saved for the next render. However, we want to disable any plugins
  # since they may inadvertently kill the composition editor by mutating
  # the DOM.
  _onCompositionStart: =>
    @_inCompositionEvent = true
    @_teardownNonMutationListeners()

  _onCompositionEnd: =>
    @_inCompositionEvent = false
    @_setupNonMutationListeners()

  _onShowContextMenu: (event) =>
    @refs["toolbarController"]?.forceClose()
