public IntAwaitable Wait(int milliseconds)
        {
            var awaiter = new CustomIntAwaiter();

            Task.Run(() =>
            {
                Thread.Sleep(milliseconds);
                awaiter.SetCompleted();
            });

            return new IntAwaitable(awaiter);
        }
 private IntAwaitable(CustomIntAwaiter awaiter)
 {
     _awaiter = awaiter;
 }