         continue
       # console.log thisSel.print()+" at left of "+sel.print()
       [left, right] = sel.unbind()
-      sel.leftPos = posToBound
+      sel._set("leftPos",  posToBound)
       sel.bind wordToBound, right
 
       if sel.isEmpty()

  # @param [Selection] selection the selection to compare to this
  # @return [Bool] true if the given selection is within this selection
  in: (selection) ->
    @gt(selection.left, selection.leftPos, "left") and
    @lt(selection.right, selection.rightPos, "right")

  # Returns true if the current selection is in the given selection
  #

  # Selections that have this word as right bound
  @right = []

  _name: "Word"

  _getModel: (Y, Operation) ->
    if @_model == null
      @_model = new Operation.MapManager(@).execute()
      @_model.val("left", @left)
      @_model.val("right", @right)
      @_model.val("word", @word)
      @_model.val("rte", @rte)

      delete @left
      delete @right
      delete @rte

    return @_model

  _setModel: (model) ->
    delete @left
    delete @right
    delete @word
    delete @rte

    @_model = model

  # Construct a new list of words
  #
  # @param [String] word The initial string value
