         self.write(to: &vstore)
         return format.makeData(from: vstore.data as NSDictionary, prettyPrint: true)
     }
+    
+    /// Convert and return a dictionary representation 
+    public func makeDictionary() -> [String : Any] {
+        var vstore = Store()
+        self.write(to: &vstore)
+        return vstore.data
+    }
 
     // note: these default implementations do nothing
 


// TODO: Refactor these collections to reduce repeat code
extension Array where Element: Model {
    
    /// Create an array of models from a file in the specified format.
    public init?(file: URL, format: Format) {

            else { return nil }
        self = instance
    }
    
    /// Create a model from a dictionary representation 
    public init?(content: [String : Any]) {
        guard let instance = Self.read(from: Store(data: content))
            else { return nil }
        self = instance
    }

    /// Write the store content to a file in the specified format.
    ///
