anchor.diff:  
   %% API
   -export([start_link/2,
  +         recv_msg/1,
            heartbeat/1,
            status/1,
            watch/1,
  
positive.code: notify_watchers(Watchers, NodeRef, Current, New) ->
      F = fun(Watcher) -> Watcher ! {state_change, NodeRef, Current, New} end,
      [F(Watcher) || {Watcher, _Monitor} <- Watchers].
  
negative.code:          terminate/3,
           code_change/4]).
  
  start_link({_,_} = NodeRef, NodeAddr) ->
      gen_fsm:start_link(?MODULE, [NodeRef, NodeAddr], []).
  
  heartbeat(NodeRef) ->
      send_info(NodeRef, heartbeat),
      ok.
  recv_msg(Message) ->
      dispatch_raw_message(Message).
  
  
  status(NodeRef) ->
      case call(NodeRef, current_state) of
  