     @document.insertDocumentAtLocationRange(document, locationRange)
     @setPosition(position + document.getLength())
 
-  insertString: (string) ->
+  insertString: (string, options = {}) ->
     attributes = @getCurrentTextAttributes()
     text = Trix.Text.textForStringWithAttributes(string, attributes)
-    @skipRender = not @currentTextAttributesRequireRender()
-    @insertText(text, updatePosition: not @skipRender)
+    updatePosition = options.updatePosition ? @currentTextAttributesRequireRender()
+    @insertText(text, {updatePosition})
 
   currentTextAttributesRequireRender: ->
     locationRange = @getLocationRange()

            @insertBlock(newBlock)
          # Stay in the block, add a newline
          else
            @insertString("\n")
    else
      @insertString("\n")

  insertHTML: (html) ->
    document = Trix.Document.fromHTML(html)

  # Document delegate

  didEditDocument: (document) ->
    if @render
      delete @render
      @delegate?.compositionDidChangeDocument?(@document)

  documentDidAddAttachment: (document, attachment) ->
