anchor.diff:  -author('Carlos Gonzalez <carlosj.gf@gmail.com>').
   -behaviour(gen_server).
   
  --export([get/2, get/3, put/3, del/2, increment/3]).
  --export([get_domain/3, get_domain/4, put_domain/4, del_domain/3, increment_domain/4]).
  +-export([get/2, get/3, put/3, del/2, increment/3, update/3]).
  +-export([get_domain/3, get_domain/4, put_domain/4, del_domain/3, increment_domain/4, update_domain/4]).
   -export([load_env/2, load_env/3, get_env/1]).
   -export([make_cache/5]).
   -export([parse_config/2, parse_config/3]).
  
positive.code: -spec handle_call(term(), {pid(), term()}, #state{}) ->
      {noreply, #state{}}.
  
  handle_call(Msg, _From, State) -> 
      lager:error("Module ~p received unexpected call ~p", [?MODULE, Msg]),
      {noreply, State}.
  
  
negative.code: 
  increment_domain(Mod, Domain, Key, Count) ->
      ets:update_counter(?MODULE, {Mod, Domain, Key}, Count).
  
  
  
  %% @doc Sets a config value.
  -spec update_domain(term(), nklib:domain(), term(), fun((term()) -> term())) ->
      ok.
  
  update_domain(Mod, Domain, Key, Fun) ->
      gen_server:call(?MODULE, {update, Mod, Domain, Key, Fun}).
  
  
  %% @doc Loads parsed application environment
  