       minutes = Math.floor(duration / 60);
       durationElement.text("#{minutes} minutes")
 
-  playTime: (entryId) ->
-    if (entryId of feedbin.data.progress)
-      progress = feedbin.data.progress[entryId]
+  timeRemaining: (entryId) ->
+    if progress = feedbin.loadProgress(entryId)
       durationElement = $("[data-behavior~=audio_duration_#{entryId}]")
       left = progress.duration - progress.progress
       minutes = Math.ceil(left / 60);

      defaultAudioWidth: 'auto'
      defaultAudioHeight: '5px'
      success: (mediaElement, domObject) ->
        data = $(domObject).data()
        if (data.entryId of feedbin.data.progress)
          progress = feedbin.data.progress[data.entryId]
          mediaElement.setCurrentTime(progress.progress)

        mediaElement.addEventListener 'timeupdate', (e) ->
          console.log 'timeupdate'
          if !isNaN(window.player.duration) && window.player.duration != 0
            feedbin.data.progress[data.entryId] =
              progress: window.player.currentTime
              duration: window.player.duration
          feedbin.playTime(data.entryId)

        mediaElement.addEventListener 'seeked', _.throttle(feedbin.updateProgress, 1000, {leading: false})
        mediaElement.addEventListener 'timeupdate', _.throttle(feedbin.updateProgress, 5000, {leading: false})


  playState: ->
    if typeof(window.player) != "undefined"
      if feedbin.hasDuration()
        feedbin.setDuration(feedbin.nowPlayingData.entryId, window.player.duration)

      play = $("[data-behavior~=audio_play_#{feedbin.nowPlayingData.entryId}]")
      if window.player.paused
        play.addClass('paused')
        play.removeClass('playing')
