anchor.diff:      {next_state, rehab, State}.
   
   idle({job, Job}, State) ->
  -    {next_state, state_transition(idle, running, State), State#state{job=Job}};
  -idle(Event, State) ->
  -    lager:info("IDLE EVENT: ~p~n", [Event]),
  -    {next_state, idle, State}.
  +    {next_state, state_transition(idle, running, State), State#state{job=Job}}.
   
   running(aborted, #state{node_ref=NodeRef}=State) ->
       lager:info("~p aborted during job.~n", [NodeRef]),
  
positive.code:     State#state{state_timer=TRef}.
  
  state_transition(Current, New, #state{node_ref=NodeRef, watchers=Watchers}) ->
      lager:info("~p transitioning from ~p to ~p~n", [NodeRef, Current, New]),
      notify_watchers(Watchers, NodeRef, Current, New),
      New.
  
  
negative.code: -behaviour(gen_fsm).
  
  -include("pushy.hrl").
  
  %% API
  -export([start_link/1,
  