public static CAwaitable This(Func <bool> predicate, bool persistable = true)
        {
            var awaitable = new CAwaitable();
            var wrapper   = new UntilWrapper(predicate, awaitable.SignalCompletion, persistable);

            Scheduler.Schedule(wrapper.TestCondition, persistable);

            return(awaitable);
        }
 public static void This(Func <bool> predicate, Action callback, bool persistable)
 {
     _ = new UntilWrapper(predicate, callback, persistable);
 }