private Recorder(ILogger logger, ICrashReporter crasher, IAuditReporter auditor, IMetricReporter measurer) { logger.GuardAgainstNull(nameof(logger)); crasher.GuardAgainstNull(nameof(crasher)); auditor.GuardAgainstNull(nameof(auditor)); measurer.GuardAgainstNull(nameof(measurer)); this.logger = logger; this.crasher = crasher; this.auditor = auditor; this.measurer = measurer; }