public static T Run <T>(Func <ITime, ITaskHelper, Task <T> > test, int threadCount = 1, Instant?startInstant = null)
        {
            var time = new TestTime(threadCount, startInstant);

            return(time.Run(() => test(time, time.TaskHelper)));
        }
        public static void Run(Func <ITime, ITaskHelper, Task> test, int threadCount = 1, Instant?startInstant = null)
        {
            var time = new TestTime(threadCount, startInstant);

            time.Run(() => test(time, time.TaskHelper));
        }