public void Run(Func <ISamplesModule, ISamplesRunner> runnerFactory)
        {
            runnerFactory.ThrowIfNull(nameof(runnerFactory));

            foreach (ISamplesModule samplesModule in _samplesModules)
            {
                Logger.Message($"Run sample module '{samplesModule.ModuleName}'.{Environment.NewLine}");
                ISamplesRunner samplesRunner = runnerFactory(samplesModule);
                RunInternal(samplesRunner);
                Logger.Message($"Sample module '{samplesModule.ModuleName}' was finished.{Environment.NewLine}");
            }
        }
        private void RunInternal(ISamplesRunner samplesRunner)
        {
            samplesRunner.ThrowIfNull(nameof(samplesRunner));

            samplesRunner.RunAllSamples();
        }