           @appendHeaderCell(columns[column], column)
           @appendCell(row, column) for row in visibleRows
 
-
     for row in [intactFirstRow...intactLastRow]
       @gutterCells[row]?.setModel({row})
       for column in [intactFirstColumn...intactLastColumn]
-        @cells[column][row]?.setModel(@getCellObjectAtPosition([row, column]))
+        @cells[row + '-' + column]?.setModel(@getCellObjectAtPosition([row, column]))
     for column in [intactFirstColumn...intactLastColumn]
       @headerCells[column]?.setModel({column: columns[column], index: column})
 


  getScreenCellAtPosition: (position) ->
    position = Point.fromObject(position)
    @cells[position.column][position.row]

  appendCell: (row, column) ->
    @cells[column] ?= []
    return @cells[column][row] if @cells[column][row]?

    @cells[column][row] = @requestCell(@getCellObjectAtPosition([row, column]))

  getCellObjectAtPosition: (position) ->
    {row, column} = Point.fromObject(position)

    delete @headerCells[column]

  appendGutterCell: (row) ->
    @gutterCells[row] ? @gutterCells[row] = @requestGutterCell({row})

  disposeGutterCell: (row) ->
    return unless cell = @gutterCells[row]
