public static IDisposable SetTimeout(Action action, int delay = 0)
        {
            if (delay <= 0)
            {
                action();

                return(null);
            }

            return(ExecutionPlan.Delay(delay, action));
        }
 public static IDisposable SetInterval(Action action, int interval)
 {
     return(ExecutionPlan.Repeat(interval, action));
 }