anchor.diff:  get_base_interval() ->
       config:read(cyclon_interval).
   
  -%% @doc wait until our pid is valid
  -%% our cs_node will eventually provide one
  -wait_for_valid_pid() ->
  -    case cs_send:is_valid(cs_send:this()) of
  -        true ->
  -            ok;
  -        false ->
  -            timer:sleep(100),
  -            wait_for_valid_pid()
  -    end.
  -
  
positive.code: 
  %% @doc message handler
  -spec(on/2 :: (message(), state()) -> state()).
  on({get_ages,Pid},{Cache,Node,Cycles,TriggerState}) ->
      cs_send:send_local(Pid , {ages,cache:ages(Cache)}),
      {Cache,Node,Cycles,TriggerState};
  
negative.code:     end.
  
  init(_Args) ->
      cs_send:send_local(get_pid() , {get_node, cs_send:this(),2.71828183}),
      cs_send:send_local(get_pid() , {get_node_details, cs_send:this_with_cookie(pred_succ), [pred, succ]}),
      cs_send:send_local_after(100, self(), {init_timeout}),
      TriggerState = Trigger:init(?MODULE:new(Trigger)),
      TriggerState2 = Trigger:trigger_first(TriggerState,1),
      log:log(info,"[ CY ] Cyclon spawn: ~p~n", [cs_send:this()]),
  