import Foundation // Injectable persistence keeps lifecycle tests away from the user's real Keychain. struct ConnectionStorage { var load: () throws -> Connection? var save: (Connection) throws -> Void var delete: () throws -> Void static let keychain = Self(load: KeychainStore.load, save: KeychainStore.save, delete: KeychainStore.delete) }