public ClientMetrics(IStatsReporter reporter) : this(new ReporterStatsFactory(reporter)) { }
public ReporterStatsFactory(IStatsReporter reporter) { this.reporter = reporter ?? throw new ArgumentNullException(nameof(reporter)); }