anchor.diff:      State1 = State#state{availability=available},
       {next_state, state_transition(rehab, idle, State1), State1};
   rehab(Message, #state{node_ref=NodeRef}=State) ->
  -    lager:debug("~p in rehab. Ignoring message: ~p~n", [NodeRef, Message]), %% TODO convert to info
  +    lager:info("~p in rehab. Ignoring message: ~p~n", [NodeRef, Message]),
       {next_state, rehab, State}.
   
   idle(do_rehab, State) ->
  
positive.code:         %% true or throw
          true = gproc:reg({n, l, GprocName}),
          true = gproc:reg({n, l, GprocAddr}),
          %% We then move to a post_init state that handles the rest of the setup process 
          lager:debug("Init completed for ~s", [NodeRef]), %% TODO remove bf commit
          {ok, post_init, State, 0}
      catch
          error:badarg ->
  
negative.code:     State1 = force_abort(State),
      {next_state, state_transition(init, rehab, State1), State1};
  post_init(Message, #state{node_ref=NodeRef}=State) ->
      lager:info("~p in post_init. Ignoring message: ~p~n", [NodeRef, Message]),
      State1 = force_abort(State),
      {next_state, state_transition(init, rehab, State1), State1}.
  
  