anchor.diff:  init(Ensemble, Id, []) ->
       {{kv, _PL, _N, Idx}, _} = Id,
       Proxy = riak_core_vnode_proxy:reg_name(riak_kv_vnode, Idx),
  +    ProxyRef = erlang:monitor(process, Proxy),
  +    {ok, Vnode} = riak_core_vnode_manager:get_vnode_pid(Idx, riak_kv_vnode),
  +    VnodeRef = erlang:monitor(process, Vnode),
       #state{ensemble=Ensemble,
              id=Id,
  -           proxy=Proxy}.
  +           proxy=Proxy,
  +           proxy_ref=ProxyRef,
  +           vnode_ref=VnodeRef}.
   
   %%===================================================================
   
  
positive.code: 
  %% @doc
  %% Implementation of {@link riak_ensemble_backend} behavior that
  %% connects riak_ensemble to riak_kv vnodes. 
  %%
  
  -module(riak_kv_ensemble_backend).
  
negative.code: -export([trusted/1, sync_request/2, sync/2]).
  -export([reply/2]).
  -export([obj_newer/2]).
  -export([handle_down/4]).
  
  -include_lib("riak_ensemble/include/riak_ensemble_types.hrl").
  
  -record(state, {ensemble  :: ensemble_id(),
                  id        :: peer_id(),
                  proxy     :: atom(),
                  proxy_ref :: reference(),
                  vnode_ref :: reference(),
                  async     :: pid()}).
  
  -type obj()    :: riak_object:riak_object().
  