anchor.diff:          _ ->
               ok
       end,
  -    self() ! heartbeat,
  +    send_info(self(), heartbeat),
       State;
   send_node_event(State, JobId, NodeRef, aborted = Msg) ->
       gen_fsm:send_event(self(), aborted),
  
positive.code:                   lager:info("No addr ~s for msg: ~p~n", [pushy_tools:bin_to_hex(Addr), NodeRef]),
                    pushy_node_state_sup:get_or_create_process(NodeRef, Addr)
            end,
      Pid ! {raw_message, Message }.
  
  %%
  %% This occurs in the fsm context
  
negative.code: handle_sync_event(current_state, _From, StateName, #state{job=Job}=State) ->
      {reply, {StateName, Job}, StateName, State}.
  
  handle_info(Msg, post_init, State) ->
      %% Startup of a node_fsm creates the FSM and immediately in the same process sends a
      %% message. The node FSM never gets the chance to timeout in post_init, since by the time the do loop runs
      %% there's a message waiting. So we do the post_init work here, and resend the message to our selves.
      State1 = force_abort(State),
      send_info(self(), Msg),
      {next_state, rehab, State1};
  handle_info(heartbeat, CurrentState, State) ->
      case pushy_node_stats:heartbeat(self()) of
  