void SubscribeObserverToReportEvents(Scenarios.IProvidesTestRunEvents events,
                                             FlexDi.IResolvesServices resolver)
        {
            var reporter = resolver.Resolve <IObservesReportableEvents>(name);

            reporter.Subscribe(events);
        }
        void SubscribeRendererToCompletedScenrios(Scenarios.IProvidesTestRunEvents events,
                                                  FlexDi.IResolvesServices resolver)
        {
            var reportableScenarioProvider = resolver.TryResolve <IExposesCompletedScenarios>(name);
            var scenarioRenderer           = resolver.TryResolve <IObservesScenarioCompletion>(name);

            if (reportableScenarioProvider == null || scenarioRenderer == null)
            {
                return;
            }

            scenarioRenderer.Subscribe(reportableScenarioProvider);
        }