anchor.diff:  handle_info(spawn_initial, State) ->
       spawn_workers(State);
   handle_info({move_done, {Node, VBucket, OldChain, NewChain}},
  -            #state{movers=Movers, map=Map} = State) ->
  +            #state{movers=Movers, map=Map, bucket=Bucket} = State) ->
       %% Update replication
       update_replication_post_move(VBucket, OldChain, NewChain),
       %% Free up a mover for this node
  
positive.code:     %% Pull the new chain from the target map
      %% Update the current map
      Map1 = array:set(VBucket, NewChain, Map),
      spawn_workers(State#state{movers=Movers1, map=Map1});
  handle_info({'EXIT', _, normal}, State) ->
      {noreply, State};
  
negative.code:     {noreply, State}.
  
  
  terminate(_Reason, #state{map=MapArray}) ->
      sync_replicas(),
      TotalChanges = erlang:get(total_changes),
      ActualChanges = erlang:get(actual_changes),
      ?log_info("Savings: ~p (from ~p)~n", [TotalChanges - ActualChanges, TotalChanges]),
  
      %% By this time map is already updated (see move_done handler)
      ?log_info("Final map is ~p", [array_to_map(MapArray)]),
      ok.
  
  
  