anchor.diff:          {reset, ModState2} ->
               State2 = State#state{modstate=ModState2},
               step_down(State2)
  -    end;
  -handle_info(quorum_timeout, StateName, State) ->
  -    State2 = quorum_timeout(State),
  -    {next_state, StateName, State2};
  -handle_info(_Info, StateName, State) ->
  -    {next_state, StateName, State}.
  +    end.
   
   -spec terminate(_,_,_) -> ok.
   terminate(_Reason, _StateName, _State) ->
  
positive.code:     {next_state, StateName, State};
  handle_event({watch_leader_status, Pid}, StateName, State = #state{watchers = Watchers}) ->
      _ = notify_leader_status(Pid, StateName, State),
      %% Might as well take this opportunity to prune any dead pids that are in the list
      NewWatcherList = [P || P <- [Pid | Watchers], is_process_alive(P)],
      {next_state, StateName, State#state{watchers = NewWatcherList}};
  handle_event({stop_watching, Pid}, StateName, State = #state{watchers = Watchers}) ->
      NewWatcherList = lists:delete(Pid, Watchers),
      {next_state, StateName, State#state{watchers = NewWatcherList}};
  handle_event({reply, ReqId, Peer, Reply}, StateName, State) ->
      State2 = handle_reply(ReqId, Peer, Reply, State),
      {next_state, StateName, State2};
  
negative.code:                 async         :: pid(),
                  tree          :: pid(),
                  lease         :: riak_ensemble_lease:lease_ref(),
                  watchers = [] :: [{pid(), reference()}],
                  self          :: pid()
                 }).
  
  