 
   formatAt: (index, length, name, value, options = {}) ->
     options = _.defaults(options, DEFAULT_API_OPTIONS)
-    doAt.call(this, =>
-      formatAt.call(this, index, length, name, value)
+    _doAt.call(this, =>
+      _formatAt.call(this, index, length, name, value)
     , options)
     
   getDelta: ->
-    checkUpdate.call(this)
+    _checkUpdate.call(this)
     return @doc.toDelta()
 
   getLength: ->
     return this.getDelta().endLength
 
   getSelection: ->
-    checkUpdate.call(this)
+    _checkUpdate.call(this)
     return @selection.getRange()
 
   insertAt: (index, text, formatting = {}, options = {}) ->
     options = _.defaults(options, DEFAULT_API_OPTIONS)
-    doAt.call(this, =>
-      insertAt.call(this, index, text, formatting)
-      forceTrailingNewline.call(this)
+    _doAt.call(this, =>
+      _insertAt.call(this, index, text, formatting)
+      _forceTrailingNewline.call(this)
     , options)
 
   setDelta: (delta) ->

    )
  )

trackDelta = (fn, options) ->
  oldDelta = @doc.toDelta()
  oldIndex = @savedRange?.start.index
  fn()

  else
    return false

_doAt = (fn, options) ->
  delta = false
  this.doSilently( =>
    delta = _trackDelta.call(this, =>
      fn.call(this)
    , options)
  )
  return delta

_deleteAt = (index, length) ->
  return if length <= 0
  @selection.preserve(index, -1 * length, =>
    [firstLine, offset] = @doc.findLineAtOffset(index)
