     }
 
     public func update(attributes: [String: String]) {
+        self.attributes = MemoryModel.resolveAttributes(attributes)
+    }
+
+    static func resolveAttributes(attributes: [String: String]) -> [String: Any] {
         var attrs = [String: Any]()
         for (key, value) in attributes {
             if let integer:Int = Int(value) {

    } 

    public static func create(attributes: [String: String]) -> Self {
        var attrs = [String: Any]()
        for (key, value) in attributes {
            if let integer:Int = Int(value) {
                attrs[key] = integer
            } else if let double:Double = Double(value) {
                attrs[key] = double
            } else {
                attrs[key] = value
            }
        }
        let new = self.init(attrs)
        all.append(new)
        return new
    }

              attrs[key] = value
            }
        }
        return attrs
    }
  
    public func renderableAttributes() -> [String: Any] {
