anchor.diff:  start_link(Mod, Index, InitialInactivityTimeout) ->
       gen_fsm:start_link(?MODULE, [Mod, Index, InitialInactivityTimeout], []).
   
  -%% Send a command message for the vnode module by Pid - 
  +%% Send a command message for the vnode module by Pid -
   %% typically to do some deferred processing after returning yourself
   send_command(Pid, Request) ->
       gen_fsm:send_event(Pid, ?VNODE_REQ{request=Request}).
   
   
  -%% Sends a command to the FSM that called it after Time 
  +%% Sends a command to the FSM that called it after Time
   %% has passed.
   -spec send_command_after(integer(), term()) -> reference().
   send_command_after(Time, Request) ->
       gen_fsm:send_event_after(Time, ?VNODE_REQ{request=Request}).
  -    
  +
   
   init([Mod, Index, InitialInactivityTimeout]) ->
       %%TODO: Should init args really be an array if it just gets Init?
  
positive.code:     vnode_command(Sender, Request, State);
  active(?VNODE_REQ{sender=Sender, request=Request},State) ->
      vnode_handoff_command(Sender, Request, State);
  active(handoff_complete, State=#state{mod=Mod, 
                                        modstate=ModState,
                                        index=Idx, 
                                        handoff_node=HN,
                                        handoff_token=HT}) ->
      riak_core_handoff_manager:release_handoff_lock({Mod, Idx}, HT),
      Mod:handoff_finished(HN, ModState),
      finish_handoff(State);
  active({handoff_error, _Err, _Reason}, State=#state{mod=Mod, 
                                                      modstate=ModState,
                                                      index=Idx, 
                                                      handoff_token=HT}) ->
      riak_core_handoff_manager:release_handoff_lock({Mod, Idx}, HT),
      %% it would be nice to pass {Err, Reason} to the vnode but the 
      %% API doesn't currently allow for that.
      Mod:handoff_cancelled(ModState),
      continue(State#state{handoff_node=none});
  
negative.code: behaviour_info(_Other) ->
      undefined.
  
  %% handle_exit/3 is an optional behaviour callback that can be implemented.
  %% It will be called in the case that a process that is linked to the vnode
  %% process dies and allows the module using the behaviour to take appropriate
  %% action. It is called by handle_info when it receives an {'EXIT', Pid, Reason}
  