                 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 final func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) {
        if error != nil { self.publish(notification: .error(.unknownError)) }
        
        switch characteristic.uuid {
        case timeOfLastUpdateCharacteristic.uuid:
            guard
                let services = peripheral.services,
                let service = services.filter({ $0.uuid == self.service.uuid }).first,
                let chars = service.characteristics,
                let char = chars.filter({ $0.uuid == self.peerDataCharacteristic.uuid }).first
            else { return }
            
            peripheral.readValue(for: char)
            
        case peerDataCharacteristic.uuid:
            guard let data = characteristic.value else { return }
            
            let peerId = peripheral.identifier.uuidString
            
            Clink.Configuration.peerManager.update(peerWithId: peerId, withPeerData: data)
            
            self.publish(notification: .updated(peerWithId: peerId))
        default:
            return
        }
    }
}

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