anchor.diff:  update_timeout_metrics(Id) ->
       lager:error("unknown iq id ~p", Id).
   
  -schedule_publishing(SchedulingPolicy) ->
  -    case get_parameter(scheduling_policy) of
  -        SchedulingPolicy ->
  -            DelayBetweenMessages = get_parameter(publication_delay),
  -            erlang:send_after(DelayBetweenMessages, self(), publish_item);
  -        _ -> ok
  -    end.
  -
  +schedule_publishing(Pid) ->
  +    throttle:send(?PUBLICATION_THROTTLING, Pid, publish_item).
   
   %%------------------------------------------------------------------------------------------------
   %% User connection
  
positive.code: activate_users(Pids, ActivationPolicy) ->
      case get_parameter(activation_policy) of
          ActivationPolicy ->
              ActivationDelay = get_parameter(activation_delay),
              spawn(fun() -> activate_users_with_delay(Pids, ActivationDelay) end);
          _ -> ok
      end.
  
  activate_users_with_delay([], _) -> ok;
  activate_users_with_delay([Pid | T], ActivationDelay) ->
      lager:debug("activate user ~p", [Pid]),
      Pid ! publish_item,
      timer:sleep(ActivationDelay),
      activate_users_with_delay(T, ActivationDelay).
  
  get_coordinator_pid() ->
      case pg2:get_members(?GROUP_NAME) of
  
negative.code: 
  create_new_node(Client) ->
      Coordinator = get_coordinator_pid(),
      throttle:send_and_wait(?NODE_CREATION_THROTTLING, create_node),
      Node = create_pubsub_node(Client),
      Coordinator ! {new_node, self(), Node},
      Node.
  
  