public void Run(World world)
        {
            var generationCount = 0;

            PrintGeneration(world, generationCount);
            var isStopping = false;

            while (!isStopping)
            {
                world = _worldGenerator.CreateNextGeneration(world);
                generationCount++;
                PrintGeneration(world, generationCount);
                Thread.Sleep(500);
                _quitManager.CheckUserOption();
                isStopping = _quitManager.ShouldStop();
            }
            _presenter.PrintMessage($"{Environment.NewLine}The Game of Life has been stopped.", "Green");
            if (_quitManager.ShouldSave())
            {
                _saveStateManager.Save(_initialStateFilePath, world);
                _presenter.PrintMessage("The current World state has now been saved in the same location as the original file.", "Blue");
            }
        }