     public let callback: GATTClientConnectionCallback
     
     internal private(set) var client: GATTClient
+    
+    public private(set) var error: Swift.Error?
     
     /*
     private lazy var connectionThread: Thread = Thread { [weak self] in

            log: { callback.log?("[\(peripheral)]: " + $0) },
            writePending: nil
        )
        
        self.client.writePending = { [weak self] in
            guard let self = self else { return }
            Task(priority: .userInitiated) {

    ) async throws -> [Characteristic] {
        return try await withUnsafeThrowingContinuation { [weak self] continuation in
            guard let self = self else { return }
            self.discoverAllCharacteristics(of: service) {
                continuation.resume(with: $0)
            }
        }
    }
