anchor.diff:  handle_info(rehab_again, rehab, State) ->
       State1 = force_abort(State),
       {next_state, rehab, State1};
  +handle_info({send_message, Method, Message}, CurrentState, State) ->
  +    State1 = do_send(State, Method, Message),
  +    {next_state, CurrentState, State1};
   handle_info({raw_message, Message}, CurrentState, State) ->
       maybe_process_and_dispatch_message(CurrentState, State, Message);
   handle_info({'DOWN', _MRef, _Type, Pid, _Reason}, StateName, #state{watchers=Watchers}=State) ->
  
positive.code: recv_msg(Message) ->
      dispatch_raw_message(Message).
  
  
  status(NodeRef) ->
      case call(NodeRef, current_state) of
  
negative.code: key_fetch(Method, EJson) ->
      NodeRef = get_node_ref(EJson),
      get_key_for_method(Method, NodeRef).
  
  -spec do_send(#state{}, json_term()) -> #state{}.
  do_send(State, Message) ->
      do_send(State, hmac_sha256, Message).
  
  -spec do_send(#state{}, atom(), json_term()) -> #state{}.
  do_send(#state{node_addr=NodeAddr, node_ref=NodeRef} = State, Method, Message) ->
      {ok, Key} = get_key_for_method(Method, NodeRef),
      Packets = ?TIME_IT(pushy_messaging, make_message, (proto_v2, Method, Key, Message)),
      ok = pushy_command_switch:send_raw([NodeAddr | Packets]),
      State.
  