             @columnsCtrl.set(columns)
           return
 
-        load: (sectionName, models, sectionController) ->
+        makeSection: (sectionName) ->
+          @sections[sectionName] =
+            tableComponents.sectionFactory(this, sectionName)
+
+        load: (sectionName, models, controller) ->
+          if not @sections[sectionName]
+            @makeSection sectionName
+
+          @loadController sectionName, controller if controller
+          @loadModels     sectionName, models     if models
+
+        loadModels: (sectionName, models) ->
           models = convertObjectModelsToArray models
 
           # Check if we're working with an existing section, if so we want to

          row

        set: (sectionName, models, sectionController) ->
          @table.sections[sectionName] = section =
            tableComponents.sectionFactory(
                @table, sectionName, sectionController)

          # Don't continue if no models
          return unless models?.length?


            @insert.apply this, args for args in toBeInserted

          # New or empty section, load using set which will also create a section
          else
            @rowsCtrl.set sectionName, models

        loadController: (sectionName, sectionController) ->
          @sections[sectionName].setController sectionController if sectionController

        insert: (sectionName, model, index = 0) ->
          @rowsCtrl.insert sectionName, model, index
