     @lastRenderedColumn = lastColumn
     @hasChanged = false
     @dirtyPositions = null
+    @dirtyColumns = null
     @wholeTableIsDirty = false
 
   updateWidthAndHeight: ->

    @dirtyPositions ?= []
    @dirtyPositions[position.row] ?= []
    @dirtyPositions[position.row][position.column] = true

  markDirtyCells: (positions) ->
    @markDirtyCell(position) for position in positions

            @cells[row + '-' + column]?.setModel(@getCellObjectAtPosition([row, column]))

      for column in [intactFirstColumn...intactLastColumn]
        if @wholeTableIsDirty or @dirtyColumns[column]
          @headerCells[column]?.setModel({
            column: columns[column],
            index: column
          })

    @firstRenderedRow = firstRow
    @lastRenderedRow = lastRow
