                 characteristicId: serviceChar.uuid.uuidString,
                 updateNotificationCharId: propUpdateNotifChar.uuid.uuidString)
             
-            
-            charDescriptor = CBMutableDescriptor(type: CBUUID(), value: serviceChar.uuid.uuidString)
-            
-            
             Clink.shared.localPeerCharacteristics[property] = char
         } else {
             let charId = CBUUID()

    
    public static func set(value: Any, forProperty property: Clink.PeerPropertyKey) {
        let serviceChar: CBMutableCharacteristic
        let charDescriptor: CBMutableDescriptor
        let propUpdateNotifChar: CBMutableCharacteristic
        let localPeerChar: LocalPeerCharacteristic
        

    public final func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) {
        if error != nil { self.publish(notification: .error(.unknownError)) }
        
        guard
            let dataValue = characteristic.value,
            let value = NSKeyedUnarchiver.unarchiveObject(with: dataValue)
        else { return }
        
        if
            let updateDescriptor = value as? UpdatedCharacteristicDescriptor,
            let services = peripheral.services,
            let service = services.filter({ $0.uuid == self.service.uuid }).first,
            let chars = service.characteristics,
            let char = chars.filter({ $0.uuid.uuidString == updateDescriptor.characteristicId }).first
        {
            peripheral.readValue(for: char)
        } else if let update = value as? LocalPeerCharacteristic {
            print(update.name)
            print(update.value)
        }
    }
}
