     public func stopNotifications(
         for characteristic: DarwinCentral.Characteristic
     ) async throws {
-        let semaphore = self.semaphore(for: characteristic.peripheral)
-        await semaphore.wait()
-        defer { semaphore.signal() }
-        let peripheral = characteristic.peripheral
-        self.log("Peripheral \(peripheral) will disable notifications for characteristic \(characteristic.uuid)")
-        return try await withThrowingContinuation(for: peripheral) { [weak self] continuation in
+        self.log("Peripheral \(characteristic.peripheral) will disable notifications for characteristic \(characteristic.uuid)")
+        return try await withThrowingContinuation(for: characteristic.peripheral) { [weak self] continuation in
             guard let self = self else { return }
             self.async {
+                /*
                 // get peripheral
                 guard let peripheralObject = self.cache.peripherals[peripheral] else {
                     continuation.resume(throwing: CentralError.unknownPeripheral)

        return try await withThrowingContinuation(for: peripheral) { [weak self] continuation in
            guard let self = self else { return }
            self.async {
                // get peripheral
                guard let peripheralObject = self.cache.peripherals[peripheral] else {
                    continuation.resume(throwing: CentralError.unknownPeripheral)
                    return
                }
                if peripheralObject.canSendWriteWithoutResponse {
                    continuation.resume()
                } else {
                    // wait until delegate is called
                    assert(self.continuation.peripherals[peripheral]?.pendingContinuation == nil)
                    self.continuation.peripherals[peripheral]?.pendingContinuation = .isReadyToWriteWithoutResponse(continuation)
                }
            }
        }
    }
}


                // notify
                self.continuation.stopNotification[characteristic] = continuation
                peripheralObject.setNotifyValue(false, for: characteristicObject)
                 */
            }
        }
    }
