public AuthenticationService( IStorageProvider storageProvider, IAcmeContextFactory contextFactory = null, IAcmeKeyFactory keyFactory = null) { _storageProvider = storageProvider ?? throw new ArgumentNullException(nameof(storageProvider)); _contextFactory = contextFactory ?? new AcmeContextFactory(); _keyFactory = keyFactory ?? new AcmeKeyFactory(); }