anchor.diff:  handle_sync_event({debug_local_get, Key}, From, StateName, State) ->
       State2 = do_local_get(From, Key, State),
       {next_state, StateName, State2};
  +handle_sync_event(get_watchers, _From, StateName, State) ->
  +    {reply, State#state.watchers, StateName, State};
   handle_sync_event(_Event, _From, StateName, State) ->
       Reply = ok,
       {reply, Reply, StateName, State}.
  
positive.code:          get_info/1, stable_views/2, tree_info/1,
           watch_leader_status/1, stop_watching/1]).
  
  %% Backdoor for unit testing
  -ifdef(TEST).
  -export([debug_local_get/2]).
  -endif.
  
  %% Exported internal callback functions
  
negative.code: -spec stop_watching(pid()) -> ok.
  stop_watching(Pid) when is_pid(Pid) ->
      gen_fsm:send_all_state_event(Pid, {stop_watching, self()}).
  
  -ifdef(TEST).
  -spec get_watchers(pid()) -> [{pid(), reference()}].
  get_watchers(Pid) when is_pid(Pid) ->
      gen_fsm:sync_send_all_state_event(Pid, get_watchers).
  -endif.
  
  get_info(Pid) when is_pid(Pid) ->
      gen_fsm:sync_send_all_state_event(Pid, get_info, infinity).
  