anchor.diff:      %% if some destination replication is stopped, it means we'll soon
       %% replicate to it in single vbucket mover, so chain is not really
       %% broken.
  -    [kill_replica(S, D, VBucket) || {S, D} <- PairsToStop],
  -    sync_replicas().
  +    Changes = [{kill_replica, S, D, VBucket} || {S, D} <- PairsToStop],
  +    BucketName = assert_master_mover(),
  +    cb_replication:apply_changes(BucketName, Changes).
   
   
   %% @private
   %% @doc Perform post-move replication fixup.
   update_replication_post_move(VBucket, OldChain, NewChain) ->
       %% destroy remainings of old replication chain
  -    [kill_replica(S, D, VBucket) || {S, D} <- pairs(OldChain),
  -                                    S =/= undefined,
  -                                    D =/= undefined,
  -                                    not lists:member(D, NewChain)],
  +    K = [{kill_replica, S, D, VBucket}
  +         || {S, D} <- pairs(OldChain),
  +            S =/= undefined,
  +            D =/= undefined,
  +            not lists:member(D, NewChain)],
       %% just start new chain of replications. Old chain is dead now
  -    [add_replica(S, D, VBucket) || {S, D} <- pairs(NewChain),
  -                                   true = if S =:= undefined -> D =:= undefined;
  -                                             true -> true
  -                                          end,
  -                                   S =/= undefined,
  -                                   D =/= undefined],
  -    ok.
  +    A = [{add_replica, S, D, VBucket}
  +         || {S, D} <- pairs(NewChain),
  +            true = if S =:= undefined -> D =:= undefined;
  +                      true -> true
  +                   end,
  +            S =/= undefined,
  +            D =/= undefined],
  +    BucketName = assert_master_mover(),
  +    cb_replication:apply_changes(BucketName,K++A).
   
   assert_master_mover() ->
       true = erlang:get('i_am_master_mover'),
  
positive.code:                                                 (_) ->
                                                      ok
                                              end),
      erlang:start_timer(3000, self(), maybe_sync_changes),
      erlang:start_timer(30000, self(), log_tap_stats),
  
      {ok, BucketConfig} = ns_bucket:get_bucket(Bucket),
  
negative.code:         _ ->
              ?log_error("Config replication sync failed: ~p", [RepSyncRV])
      end,
      OldCopies0 = OldChain -- NewChain,
      OldCopies = [OldCopyNode || OldCopyNode <- OldCopies0,
                                  OldCopyNode =/= undefined],
  