anchor.diff:          {'next_state', job_status(), #state{}}.
   handle_info({down, NodeRef}, StateName, State) ->
       pushy_job_state:StateName({down,NodeRef}, State);
  -handle_info(voting_timeout, voting, #state{job = Job} = State) ->
  -    lager:info("Timeout occurred during voting on job ~p after ~p milliseconds", [Job#pushy_job.id, voting_timeout()]),
  +handle_info(voting_timeout, voting,
  +        #state{job = Job, voting_timeout = VotingTimeout} = State) ->
  +    lager:info("Timeout occurred during voting on job ~p after ~p milliseconds", [Job#pushy_job.id, VotingTimeout]),
       maybe_finished_voting(State);
  -handle_info(running_timeout, running, #state{job = Job} = State) ->
  -    lager:info("Timeout occurred while running job ~p after ~p milliseconds", [Job#pushy_job.id, running_timeout()]),
  -    finish_job(timed_out, State);
   % Rather than store and cancel timers, we let them fire and ignore them if we've
   % moved on to a new state.
  -handle_info(voting_timeout, StateName, State) ->
  -    {next_state, StateName, State};
  +handle_info(voting_timeout, running, State) ->
  +    {next_state, running, State};
  +handle_info(running_timeout, running,
  +        #state{job = Job, running_timeout = RunningTimeout} = State) ->
  +    lager:info("Timeout occurred while running job ~p after ~p milliseconds", [Job#pushy_job.id, RunningTimeout]),
  +    finish_job(timed_out, State);
   handle_info(Info, StateName, State) ->
       lager:error("Unknown message handle_info(~p)", [Info]),
       {next_state, StateName, State}.
  
positive.code:                                           #pushy_job_node{org_id = OrgId, node_name = NodeName} =
                                                JobNode <- JobNodeList]),
              State = #state{job = Job#pushy_job{job_nodes = undefined},
                             job_nodes = JobNodes, job_host=Host},
              listen_for_down_nodes(dict:fetch_keys(JobNodes)),
  
              % Start voting--if there are no nodes, the job finishes immediately.
              case start_voting(State) of
  
negative.code: terminalize(new) -> new;
  terminalize(ready) -> ready;
  terminalize(running) -> running.
  