anchor.diff:           start_link/2, start_link/1,
            merge/1,
            get/2, get/1, get/0, set/2, set/1,
  -         cas_remote_config/2,
  +         cas_remote_config/2, cas_local_config/2,
            set_initial/2, update/2, update_key/2, update_key/3,
            update_sub_key/3, set_sub/2, set_sub/3,
            search_node/3, search_node/2, search_node/1,
  
positive.code:     Cfg = [get_kv_list()],
      case Body(Cfg, fun run_txn_set/3) of
          {commit, [NewCfg]} ->
              case cas_remote_config(NewCfg, hd(Cfg)) of
                  true -> {commit, NewCfg};
                  false -> run_txn_loop(Body, RetriesLeft - 1)
              end;
  
negative.code: cas_remote_config(NewConfig, OldConfig) ->
      gen_server:call(?MODULE, {cas_config, NewConfig, OldConfig, remote}).
  
  cas_local_config(NewConfig, OldConfig) ->
      gen_server:call(?MODULE, {cas_config, NewConfig, OldConfig, local}).
  
  set(Key, Value) ->
      ok = update_with_changes(fun (Config) ->
                                       NewList = update_config_key(Key, Value, Config),
  