anchor.diff:               end,
       NewData = rrd:add_nonexisting_timeslots(MyData, OldValue),
       ets:insert(Table, {TableIndex, NewData}),
  +    Table;
  +
  +on({report_single, Process, Key, NewValue_or_UpdateFun}, Table) ->
  +    proc_set_value(Process, Key, NewValue_or_UpdateFun),
       Table;
   
   on({web_debug_info, Requestor}, Table) ->
  
positive.code:             end
      end.
  
  %% @doc Sets the value at Key. Either specify a new value or an update function
  %%      which generates the new value from the old one.
  -spec proc_set_value(Process::atom(), Key::key(),
                       NewValue_or_UpdateFun::term() | fun((Old::Value | undefined) -> New::Value)) -> ok.
  proc_set_value(Process, Key, UpdateFun) when is_function(UpdateFun, 1)->
      InternalKey = to_internal_key(Key),
      OldValue = erlang:get(InternalKey),
      NewValue = UpdateFun(OldValue),
  
negative.code:     OldValue = erlang:put(InternalKey, NewValue),
      check_report(Process, Key, OldValue, NewValue).
  
  %% @doc Sets the value at Key inside the monitor process of the current group.
  %%      Either specify a new value or an update function which generates the
  %%      new value from the old one.
  -spec monitor_set_value(Process::atom(), Key::key(),
                          NewValue_or_UpdateFun::term() | fun((Old::Value | undefined) -> New::Value)) -> ok.
  monitor_set_value(Process, Key, NewValue_or_UpdateFun) ->
      MyMonitor = pid_groups:get_my(monitor),
      comm:send_local(MyMonitor, {report_single, Process, Key, NewValue_or_UpdateFun}).
  
  %% @doc Checks whether a value exists at Key.
  -spec proc_exists_value(Process::atom(), Key::key()) -> boolean().
  proc_exists_value(_Process, Key) ->
  