         
         public let properties: BitMaskOptionSet<Property>
         
-        public let declaration: UInt16
-        
-        public let value: UInt16
-        
-        internal let end: UInt16
+        public let handle: (declaration: UInt16, value: UInt16)
     }
     
     /// A discovered descriptor

     ![Image](https://github.com/PureSwift/Bluetooth/raw/master/Assets/DiscoverAllCharacteristicDescriptors.png)
     */
    public func discoverDescriptors(for characteristic: Characteristic,
                                    end: UInt16? = nil,
                                    completion: @escaping (GATTClientResponse<[Descriptor]>) -> ()) {
        
        /**

                                    reliableWrites: Bool = true,
                                    completion: ((GATTClientResponse<()>) -> ())?) {
        
        writeAttribute(characteristic.handle.value,
                       data: data,
                       reliableWrites: reliableWrites,
                       completion: completion)
