public void Update(long lookahead, long target_milliseconds) { target_timer.RestartSetDurationInMilliseconds(target_milliseconds); schedule.Complete(timer.GetElapsedTimeInMilliseconds()); schedule.Lookahead(timer.GetElapsedTimeInMilliseconds() + lookahead, target_timer.GetTimeTillInMilliseconds()); }