anchor.diff:          fun ({Name, _}, Acc) ->
               [{Name, get_raw_data(Name)} | Acc]
           end, [], mz_histograms).
  -
  -get_and_remove_raw_data() ->
  -    Data = get_raw_data(),
  -    lists:map(fun({Name, Datapoints}) ->
  -        lists:map(fun({K, V}) -> notify_many(Name, K, -V) end, Datapoints) end, Data),
  -    Data.
   
   get_raw_data(Name) ->
       case ets:lookup(mz_histograms, Name) of
  
positive.code: handle_call({create, Name}, _From, State) ->
      {reply, init_hist(Name), State};
  
  handle_call(Req, _From, State) ->
      lager:error("Unhandled call: ~p", [Req]),
      {stop, {unhandled_call, Req}, State}.
  
negative.code:         [ok] -> ok;
          _ -> {error, Results}
      end.
  
  get_and_remove_raw_data() ->
      {ok, Data} = gen_server:call(?MODULE, {get_and_remove_raw_data}),
      Data.
  
  notify(Name, Value) when is_number(Value), Value >= 0 ->
      notify_many(Name, Value, 1);
  