             self.data = data
         }
         
-        public required init(id: String) {
+        public init(id: String) {
             self.id = id
             self.data = [:]
         }

        public var id: String
        public var data: [String: Any]
        
        public required init?(dict: [String: Any]) {
            guard
                let id = dict["id"] as? String,
                let data = dict["data"] as? [String: Any]

    var id: String { get set }
    var data: [String: Any] { get set }
    
    func toDict() -> [String: Any]
}

