anchor.diff:  -export([running/2, joining/2, leaving/2]).
   
   %% API
  --export([join/2, leave/0, leave/1, shun/1, log_joined/0,
  +-export([add_node/1, join/2, leave/0, leave/1, shun/1, log_joined/0,
           rename_node/2]).
   
   -export([alert_key/1]).
  
positive.code: 
  terminate(_Reason, _StateName, _StateData) -> ok.
  
  %% API
  join(RemoteNode, NewCookie) ->
      ns_log:log(?MODULE, ?NODE_JOIN_REQUEST, "Node join request on ~s to ~s",
                 [node(), RemoteNode]),
  
negative.code: 
  -behaviour(gen_fsm).
  
  -include("ns_common.hrl").
  
  %% General FSMness
  -export([start_link/0, init/1, handle_info/3,
           handle_event/3, handle_sync_event/4,
  