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:             receive
                  {collaborate_ack, From, Key, Value} ->
                      lager:info("~p: node ~p ack received for key ~p value ~p", [?MODULE, node(), Key, Value]),
                      {reply, ok, State#state{store=Store}}
              after
                  %% We have to timeout, otherwise we block the gen_server.
                  ?PB_RETRY_TIMEOUT ->
                      {reply, {error, timeout}, State}
              end;
          _ ->
              %% Forward the write request to the primary.
  
negative.code:             %% under concurrent scheduling.
              {noreply, State}
      end;
  %% @private
  handle_cast({read, From, Key}, #state{nodes=[Primary|_Rest], store=Store}=State) ->
      case node() of 
  