private void PrintNext(FizzBuzzContext context)
        {
            var feature = _featureToggles.GetFeatureToggles(context);

            if (feature.UseNewColorScheme)
            {
                Console.ForegroundColor = ConsoleColor.Yellow;
            }
            else
            {
                Console.ForegroundColor = ConsoleColor.Gray;
            }

            bool fizz, buzz;

            if (fizz = context.Count % 3 == 0)
            {
                Console.Write("Fizz");
            }
            if (buzz = context.Count % 5 == 0)
            {
                Console.Write("Buzz");
            }
            if (!fizz && !buzz)
            {
                Console.Write(context.Count);
            }
            Console.WriteLine();
            context.Count++;
        }
        public Task StartAsync(CancellationToken cancellationToken)
        {
            var context = new FizzBuzzContext
            {
                Count = 1
            };

            _timer = new Timer(state => PrintNext((FizzBuzzContext)state), context, 1000, 1000);
            return(Task.CompletedTask);
        }