       @courseContent.students = new StudentDatastore(@students, @studentViewStudents)
 
       @parentColumns = []
-      @customColumns = {}
       @allAssignmentColumns = []
       @aggregateColumns = []
+
+      @gradebookGrid = {
+        columns: {
+          definitions: {}
+          frozen: []
+          scrollable: []
+        }
+      }
       @rows = []
 
       @initPostGradesStore()

        numberOfColumnsToFreeze: @listVisibleCustomColumns().length + 1
      }, @options)

      @grid = new Slick.Grid('#gradebook_grid', @rows, @getVisibleGradeGridColumns(), options)
      @grid.setSortColumn('student')


      else
        assignmentColumns.concat(@aggregateColumns)

      customColumns = @listVisibleCustomColumns().map((column) => @gradebookGrid.columns.definitions[@getCustomColumnId(column.id)])
      frozenColumns = @parentColumns.concat(customColumns)

      @gradebookGrid.columns.frozen = frozenColumns.map((column) -> column.id)
      @gradebookGrid.columns.scrollable = scrollableColumns.map((column) -> column.id)

    getVisibleGradeGridColumns: ->
      [@gradebookGrid.columns.frozen..., @gradebookGrid.columns.scrollable...].map (columnId) =>
        @gradebookGrid.columns.definitions[columnId]

    ## Grid Column Definitions

