public void InvokeAfter(Action action, double time) { if (time < 0) return; timedInvocations.Add(new TimedInvocation { Action = action, Milliseconds = time, StartTime = ElapsedTime }); }