           cssClass : "modal-clean-gray"
           callback : => modal.destroy()
 
-  goToNextChapter: (modal) ->
+  goToNextChapter: (modal, nextChapterIsLastChapter) ->
     {nextChapterConfig} = @getDelegate()
-    nextChapterLayout = nextChapterConfig.panel
+    nextChapterLayout   = nextChapterConfig.panel
     @addDefaultButtons nextChapterLayout
     @getOptions().panels.push nextChapterLayout
 
     @next()
+    data = @getData()
+    data.config = nextChapterConfig
+    data.courseMeta.index++
+
+    unless nextChapterIsLastChapter
+      delegate = @getDelegate()
+      delegate.currentChapterIndex++
+      delegate.fetchNextCourseConfig()
+
     modal.destroy()
-
-    @getData().config = nextChapterConfig
 
   goToCoursesView: (modal) ->
     modal.destroy()  if modal

      KD.getSingleton("windowController").addLayer container
      container.once "ReceivedClickElsewhere", ->
        container.toggleClass "active"

  next: ->
    super
    delegate = @getDelegate()
    delegate.currentChapterIndex++
    delegate.fetchNextCourseConfig()

        Next       :
          title    : "Next Chapter"
          cssClass : "modal-clean-green"
          callback : =>
            @goToNextChapter modal, remainingChapters is 1
    else
      title        = "Well done!"
      content      = "You have completed this course. You can go to courses to start another one."
