/// <summary>
        /// Invoke commands
        /// </summary>
        public void InvokeCommands()
        {
            foreach (var command in _commands)
            {
                var name = command.GetType().GetInterfaces()[0].Name;
                switch (name)
                {
                case nameof(IBoardSetCommand):
                    _initializationService.InitializationBoardSetCommand(_board, command);
                    break;

                case nameof(IExitSetCommand):
                    _initializationService.InitializationExitSetCommand(_board, _exit, command);
                    break;

                case nameof(IMineSetCommand):
                    _initializationService.InitializationObstacleSetCommand(_board, _mines, command);
                    break;

                case nameof(ITurtleSetCommand):
                    _initializationService.InitializationAnimalSetCommand(_board, _turtle, command);
                    break;

                case nameof(ITurtleMoveCommand):
                    _initializationService.InitializationAnimalMoveCommand(_turtle, _mines, _exit, command);
                    break;
                }
                command.Execute();
            }
        }