public RepeatedCallbackData RequestRepeatedCallback(DateTime startTime, TimeSpan repeatTimeSpan, RepeatedTimeCallbackDelegate callback)
        {
            var data = new RepeatedCallbackData()
            {
                callback = callback, startTime = startTime, repeatTimeSpan = repeatTimeSpan, counter = 0
            };

            data.nextTriggerTime = startTime + repeatTimeSpan;

            if (!RepeatedCallbackSimulation(data, Time))
            {
                RepeatedCallbacks.Add(data);
            }

            return(data);
        }
 public RepeatedCallbackData RequestRepeatedCallbackStartNow(TimeSpan repeatTimeSpan, RepeatedTimeCallbackDelegate callback)
 {
     return(RequestRepeatedCallback(Time, repeatTimeSpan, callback));
 }