 
       if @currentPlayer
         wesabe.info("Starting player ", @currentPlayer)
-        @currentPlayer.job = jobProxy
+        @currentPlayer.job = @job
         @currentPlayer.start(answers, browser)
       else if failureCallback
         failureCallback()
       else
-        wesabe.info("No more players to handle goal: ", jobProxy.goal)
+        wesabe.info("No more players to handle goal: ", @job.goal)
         @job.fail(400, "goal.unreachable")
 
     nextPlayer = =>

    return klass

  playerIndex: -1
  currentJob: null
  players: null

  start: (answers, browser) ->


      if playerClass = @players[++@playerIndex]
        @currentPlayer = new playerClass()
        @currentPlayer.job = @job
      else
        @currentPlayer = null

    # customize fail to go to the next player
    job_fail_original = @job.fail
    @job.fail = (status, result) =>
      wesabe.info "Could not complete job with ", @currentPlayer, " (", status, " ", result, ")"

      # if we can't, just report the last failure
      startNextPlayer(=> job_fail_original(status, result))

    @job.__defineGetter__ 'page', =>
      @currentPlayer.page

    startNextPlayer()

