anchor.diff:  
   handle_cast(start, State) ->
       DataMaxAge = data_max_age(),
  -    {ok, NCITimer} = interval_timer(nci_min_interval(), push_nci),
  -    {ok, CleanTimer} = interval_timer(clean_interval(), clean_data),
  +    {ok, NCITimer} = interval_timer(fun nci_min_interval/0, fun push_nci/0),
  +    {ok, CleanTimer} = interval_timer(fun clean_interval/0, fun clean_data/0),
       {noreply, State#?STATE{nci_update_timer = NCITimer,
                              clean_timer = CleanTimer,
                              data_max_age = DataMaxAge}};
  
positive.code: % local functions
  %------------------------------------------------------------------------------
  
  interval_timer(IntervalSec, Func) ->
      timer:apply_interval(IntervalSec*1000, ?MODULE, Func, []).
  
  nci_min_interval() ->
      {seconds, Time} = tap_config:getconfig(nci_min_interval),
  
negative.code: clean_data() ->
      gen_server:cast(?MODULE, clean_data).
  
  % helper function because API to timer:apply_after doesn't allow
  % for calling a function reference, only function by atom.
  caller(Fun) ->
      Fun().
  
  %------------------------------------------------------------------------------
  % gen_server callbacks
  %------------------------------------------------------------------------------
  