  
  The Boot Mouse Input Report characteristic is used to transfer fixed format and length Input Report data between a HID Host operating in Boot Protocol Mode and a HID Service corresponding to a boot mouse.
  */
-public struct GATTBootMouseInputReport: GATTCharacteristic {
+public struct GATTBootMouseInputReport: RawRepresentable, GATTCharacteristic {
     
     internal static let length = MemoryLayout<UInt8>.size
     
     public static var uuid: BluetoothUUID { return .bootMouseInputReport }
     
-    public var value: UInt8
+    public var rawValue: UInt8
     
-    public init(value: UInt8) {
+    public init(rawValue: UInt8) {
         
-        self.value = value
+        self.rawValue = rawValue
     }
     
     public init?(data: Data) {

    
    public var description: String {
        
        return value.description
    }
}

        guard data.count == type(of: self).length
            else { return nil }
        
        self.init(rawValue: data[0])
    }
    
    public var data: Data {
        
        return Data([rawValue])
    }
}

