     word = @getWord(n)
     @setWord(n, word.substring(0, pos) + content + word.substring(pos))
 
-  # relative jump from position
+  # Relative jump from position
+  #
   _jump: (position, relJump) ->
     word = position.word
     pos = position.pos

      pos = pos
    {word: word, pos: pos}

  # Set the style of the selection and try to extend as much
  # as possible existing ones
  #
  setStyle: (selection, style)->
    if not thisSel.isValid()
      throw new Error "Invalid selection"

    # Try to merge with previous / next contiguous selection
    {prevWord, position} = @_jump(s.startPos, -1)
    {nextWord, position} = @_jump(s.endPos,   +1)
    for s in prevWord.selections when selection.style == s.style
      s.merge selection, @
    for s in nextWord.selections when selection.style == s.style
      s.merge selection, @

  # Apply a delta to the object
  # @see http://quilljs.com/docs/deltas/
  #
  delta: (deltas) ->
    position = 0
    for delta in deltas.ops
      if delta.retain?

      throw new Error "Index out of bounds"
    @_rte.words[index].word = content

  # Split the content around ' ' and append all the words created to the object
  #
  _push: (content) ->
    for w in content.split(' ')
      @_rte.words.push(w)

  # Insert words at position
  #
  # @param [Integer] position the position where to insert words
  # @param [Array<String>] words the words to insert at position
  #
  insertWords: (position, words)->
    # TODO: update selections
    if typeof position isnt "number"
