     delete @lineNodesByLineId[id]
     delete @lineIdsByScreenRow[@screenRowsByLineId[id]]
     delete @screenRowsByLineId[id]
-    delete @oldState.tiles[@id]?.lines[id]
+    delete @oldTileState.lines[id]
 
   updateLineNodes: ->
-    for id of @oldState.tiles[@id]?.lines
-      unless @newState.tiles[@id].lines.hasOwnProperty(id)
+    for id of @oldTileState.lines
+      unless @newTileState.lines.hasOwnProperty(id)
         @removeLineNode(id)
 
     newLineIds = null
     newLinesHTML = null
 
-    for id, lineState of @newState.tiles[@id].lines
-      if @oldState.tiles[@id]?.lines.hasOwnProperty(id)
+    for id, lineState of @newTileState.lines
+      if @oldTileState.lines.hasOwnProperty(id)
         @updateLineNode(id)
       else
         newLineIds ?= []

    @lineNodesByLineId[@lineIdsByScreenRow[screenRow]]

  measureCharactersInNewLines: ->
    for id, lineState of @oldState.tiles[@id]?.lines
      unless @measuredLines.has(id)
        lineNode = @lineNodesByLineId[id]
        @measureCharactersInLine(id, lineState, lineNode)

    "<span class=\"#{scope.replace(/\.+/g, ' ')}\">"

  updateLineNode: (id) ->
    oldLineState = @oldTileState.lines[id]
    newLineState = @newTileState.lines[id]

    lineNode = @lineNodesByLineId[id]

