 
       seasonsMenu.show()
 
-      seasonsMenu.on 'select', (e) ->
-        data = e.item.data
+      seasonsMenu.on 'select', (seasonMenuEvent) ->
+        element = seasonMenuEvent.item
+        data = seasonMenuEvent.item.data
+
+        displaySubtitle = (text) =>
+          element.subtitle = text
+          seasonsMenu.item seasonMenuEvent.sectionIndex, seasonMenuEvent.itemIndex, element
+
+        originalSubtitle = element.subtitle
+        displaySubtitle "Loading..."
+
         season = s for s in item.seasons when s.number == data.seasonNumber
-        episodesMenu = createDefaultMenu()
-        episodesMenu.show()
 
         async.map(
           season.episodes,


  initHandlers: ->
    @menu.on 'select', (e) =>
      data = e.item.data
      showTitle = e.item.data.showTitle

      item = i for i in @shows when i.show.ids.trakt == data.showID

                  episode = {}
                cb(null, episode)
          (err, episodes) ->
            episodesMenu = createDefaultMenu(
              sections: [{
                items:
                  {
                    title: episode.title
                    subtitle: "Season #{episode.season} Ep. #{episode.number}"
                    data:
                      episodeTitle: episode.title
                      overview: episode.overview
                      seasonNumber: episode.season
                      episodeNumber: episode.number
                  } for episode in episodes
              }]
            )

            episodesMenu.show()
            displaySubtitle originalSubtitle

            episodesMenu.on 'select', (e) ->
              data = e.item.data
