         // start discovery
         corePeripheral.discoverServices(coreServices)
         
-        // wait
+        // waitsq
         try semaphore.wait()
         
         return accessQueue.sync { [unowned self] in
             self.internalState.cache[peripheral]?.services.values.map {
-                Service(identifier: $0.key,
+                Service(id: $0.key,
                         uuid: BluetoothUUID($0.value.uuid),
                         peripheral: peripheral,
                         isPrimary: $0.value.isPrimary)

        case scan
        case connect(Peripheral)
        case discoverServices(Peripheral)
        case discoverCharacteristics(Service<Peripheral>)
        case readCharacteristic(Characteristic<Peripheral>)
        case writeCharacteristic(Characteristic<Peripheral>)
        case flushWriteWithoutResponse(Peripheral)
        case updateCharacteristicNotificationState(Characteristic<Peripheral>)
        
        var peripheral: Peripheral? {
            switch self {

import CoreBluetooth

/// CoreBluetooth GATT Central manager.
//@available(*, deprecated, message: "Please migrate to 'DarwinCombineCentral'")
//public typealias DarwinCentral = DarwinSynchronousCentral

/// CoreBluetooth GATT Central manager.
@objc(DarwinCentral)
public final class _DarwinSynchronousCentral: NSObject, CBCentralManagerDelegate, CBPeripheralDelegate {
        
    // MARK: - Properties
    
    public var log: ((String) -> ())?
