public void Export(
            string gameFolderPath,
            string gameExecutableFilePath,
            string englishLanguageFilePath,
            string frenchLanguageFilePath,
            string germanLanguageFilePath,
            string englishCommentaryFilePath,
            string frenchCommentaryFilePath,
            string germanCommentaryFilePath)
        {
            _dataConnection.Initialise(
                gameFolderPath,
                gameExecutableFilePath,
                englishLanguageFilePath,
                frenchLanguageFilePath,
                germanLanguageFilePath,
                englishCommentaryFilePath,
                frenchCommentaryFilePath,
                germanCommentaryFilePath);

            // Validate connection prior to export
            var validationMessages = _dataConnectionValidationService.Validate(_dataConnection);

            if (validationMessages.Any())
            {
                throw new Exception("Failed to validate data connection.");
            }

            // Export from domain layer into data layer
            _domainModelExportService.Export();

            // Export from data layer into files
            _dataExportService.Export(_dataConnection);

            // Export configuration changes to game executable
            _gameExecutableCodePatcher.ExportConfiguration(DomainModel, gameExecutableFilePath);
        }