anchor.diff:      Error1 = Error0 ++ [Message],
       {next_state, waiting, SD#state{error=Error1}, ?COORD_TIMEOUT};
   waiting({Result, Message}, SD=#state{from=From}) ->
  +    lager:info("Result received: ~p", [{Result, Message}]),
       From ! {Result, Message},
       {stop, normal, SD}.
   
  
positive.code:                             payload=Payload,
                              from=From,
                              preflist=Preflist}) ->
      lager:info("Coord: COORD_TIMEOUT, retry..."),
      case Preflist of
          [] ->
              lager:info("Coord: Nothing in pref list"),
              From ! {error, no_alive_vnode},
              {stop, normal, SD0};
        [H|T] ->
              lager:info("Coord: Forward to node:~w",[H]),
              floppy_rep_vnode:operate(H, self(), Type, Key, Payload),
              SD1 = SD0#state{preflist=T},
              {next_state, waiting, SD1, ?COORD_TIMEOUT}
      end;
  
  %% @doc Receive result and reply the result to the process that started the fsm (From).
  
negative.code: -export([start_link/4]).
  
  %% Callbacks
  -export([init/1,
           code_change/4,
           handle_event/3,
           handle_info/3,
           handle_sync_event/4,
           terminate/3]).
  
  %% States
  -export([prepare/2,
           execute/2,
           waiting/2,
           finish_op/3]).
  
  -record(state, {from :: pid(),
                  type :: atom(),
                  key :: key(),
                  error :: [term()],
                  payload = undefined :: term() | undefined,
                  preflist :: preflist()}).
  