     // MARK: Data Access
     public func stringValue(_ data: Data?) -> [String : String]? {
         if let data = data {
-            return profile.stringValue(data)
+            return profile?.stringValue(data)
         } else {
             return nil
         }
     }
     
     public func data(fromString stringValue: [String : String]) -> Data? {
-        return profile.data(fromString: stringValue)
+        return profile?.data(fromString: stringValue)
     }
     
     public func propertyEnabled(_ property: CBCharacteristicProperties) -> Bool {


    fileprivate weak var _service: Service?
    
    fileprivate let profile: CharacteristicProfile

    fileprivate var reading = false
    fileprivate var writing = false

    }
    
    public var stringValues: [String] {
        return profile?.stringValues ?? []
    }

    public var stringValue: [String : String]? {
