anchor.diff:      {ok, #state{nodes=Nodes, store=Store}}.
   
   %% @private
  -handle_call({write, Key, Value}, From, #state{nodes=[Primary, Collaborator|_Rest], store=Store0}=State) ->
  +handle_call(_Msg, _From, State) ->
  +    {reply, ok, State}.
  +
  +%% @private
  +handle_cast({write, From, Key, Value}, #state{nodes=[Primary, Collaborator|_Rest], store=Store0}=State) ->
       case node() of 
           Primary ->
               lager:info("~p: node ~p received write for key ~p with value ~p", [?MODULE, node(), Key, Value]),
  
positive.code:     lists:foreach(fun(Backup) -> psend(Backup, {backup, From, Key, Value}) end, Backups),
  
      %% Send the response to the caller.
      gen_server:reply(From, ok),
  
      %% No need to send acknowledgement back to the forwarder: 
      %%  - not needed for control flow.
  
negative.code:             receive
                  {collaborate_ack, From, Key, Value} ->
                      lager:info("~p: node ~p ack received for key ~p value ~p", [?MODULE, node(), Key, Value]),
  
                      %% Reply to caller.
                      preply(From, ok),
  
                      {noreply, State#state{store=Store}}
              after
                  %% We have to timeout, otherwise we block the gen_server.
                  ?PB_RETRY_TIMEOUT ->
  
                      %% Reply to caller.
                      preply(From, {error, timeout}),
  
                      {noreply, State}
              end;
          _ ->
              %% Forward the write request to the primary.
  