anchor.diff:  
   % called by dht_node_join, results in on_active
   -spec activate(Range::intervals:interval()) -> ok.
  -activate(MyRange) ->
  -    Pid = pid_groups:get_my(gossip2),
  -    comm:send_local(Pid, {activate_gossip, MyRange}).
  +activate(_MyRange) ->
  +    % subscribe to ring maintenance (rm) for {slide_finished, succ} or {slide_finished, pred}
  +    rm_loop:subscribe(self(), ?MODULE,
  +                      fun gossip2:rm_filter_slide_msg/3,
  +                      fun gossip2:rm_send_activation_msg/4, 1).
   
   
   %% @doc Deactivates all gossip processes.
  
positive.code: -export([start_link/1, activate/1, deactivate/0, start_gossip_task/2, stop_gossip_task/1, remove_all_tombstones/0]).
  
  % interaction with the ring maintenance:
  -export([rm_my_range_changed/3, rm_send_new_range/4]).
  
  % testing
  -export([tester_create_state/9, is_state/1]).
  
negative.code: -define(SEND_TO_GROUP_MEMBER(Pid, Process, Msg),
          comm:send(Pid, Msg, [{group_member, Process}, {shepherd, self()}])).
  
  -define(SHOW, config:read(log_level)).
  %% -define(SHOW, debug).
  
  -define(CBMODULES, [{gossip_load, default}]). % callback modules as list
  -define(CBMODULES_TYPE, {gossip_load, default}). % callback modules as union of atoms
  