anchor.diff:  handle_cast(_Msg, State) ->
       {noreply, State}.
   
  -handle_info(timeout, State) ->
  +handle_info(timeout, #state{interval = Interval} = State) ->
       pushy_node_stats:scan(),
  -    {noreply, State, wait_interval()};
  +    {noreply, State, Interval};
   handle_info(_Info, State) ->
       {noreply, State}.
   
  
positive.code: 
  -define(SERVER, ?MODULE).
  
  start_link() ->
      gen_server:start_link({local, ?SERVER}, ?MODULE, [], []).
  
  init([]) ->
      random:seed(erlang:now()),
      {ok, none, wait_interval()}.
  
  handle_call(_Request, _From, State) ->
      {reply, ignored, State}.
  
negative.code:     {ok, State}.
  
  %%% Internal functions
  
  
  %% @doc The wait interval between scans, expressed as number
  %% of heartbeat intervals
  wait_interval() ->
      HeartbeatInterval = envy:get(pushy, heartbeat_interval, number),
      NumHeartbeats = envy:get(pushy, detect_offline_nodes_interval, number),
      HeartbeatInterval * NumHeartbeats.
  