                 @menu.item e.sectionIndex, e.section.items.length, newItem
 
 
-    @menu.on 'select', (e) ->
+    @menu.on 'select', (e) =>
       element = e.item
       data = element.data
-      trakttv.getOrFetchEpisodeData data.showID, data.seasonNumber, data.episodeNumber, (episode) ->
-        detailedItemCard = createDefaultCard
-          title: episode.showTitle
-          subtitle: "Season #{episode.seasonNumber} Ep. #{episode.episodeNumber}"
-          body: "Title: #{episode.episodeTitle}\n\
-                 Overview: #{episode.overview}"
-
-        detailedItemCard.show()
+      trakttv.getEpisodeData data.showID, data.seasonNumber, data.episodeNumber,
+        (err, episodeInfo) =>
+          detailedItemCard = createDefaultCard
+            title: data.showTitle
+            subtitle: "Season #{data.seasonNumber} Ep. #{data.episodeNumber}"
+            body: "Title: #{episodeInfo.title}\n\
+                   Overview: #{episodeInfo.overview}"
+
+          detailedItemCard.show()
 
     console.log "toWatchmenu created"
 
-  _createItem: (showID, episodeTitle, seasonNumber, episodeNumber, isNextEpisodeListed, completed) ->
-    title: episodeTitle
-    subtitle: "Season #{seasonNumber} Ep. #{episodeNumber}"
-    icon: if completed then @icons.checked else @icons.unchecked
-    data:
-      showID: showID
-      episodeNumber: episodeNumber
-      seasonNumber: seasonNumber
-      completed: completed
-      isNextEpisodeListed: isNextEpisodeListed # TODO: delete me
+  _createItem: (showID, showTitle, episodeTitle, seasonNumber, episodeNumber, isNextEpisodeListed, completed) ->
+    subtitle = "Season #{seasonNumber} Ep. #{episodeNumber}"
+    return {
+      title: episodeTitle
+      subtitle: subtitle
+      icon: if completed then @icons.checked else @icons.unchecked
+      data:
+        showID: showID
+        showTitle: showTitle
+        originalSubtitle: subtitle
+        episodeNumber: episodeNumber
+        seasonNumber: seasonNumber
+        completed: completed
+        isNextEpisodeListed: isNextEpisodeListed # TODO: delete me
+    }
 
 
   update: (shows) ->

      console.log "element before the change: #{JSON.stringify e.item}"
      element = e.item
      data = e.item.data
      originalSubtitle = element.subtitle

      displaySubtitle = (text) =>
        element.subtitle = text

            @menu.item e.sectionIndex, e.itemIndex, element

            window.setTimeout(
              () => displaySubtitle data.originalSubtitle
              2000
            )

