   /// A key-value dictionary for related view models
   public var relations = [String : [ViewModel]]()
 
+  public var dictionary: JSONDictionary {
+    return [
+      Key.Index.string : index,
+      Key.Title.string : title,
+      Key.Subtitle.string : subtitle,
+      Key.Image.string : image,
+      Key.Kind.string : kind,
+      //Key.Action.string : action
+    ]
+  }
+
   // MARK: - Initialization
 
   /**

 A value type struct, it conforms to the Mappable protocol so that it can be instantiated with JSON
*/
public struct ViewModel: Mappable {
  /// The index of the ViewModel when appearing in a list, should be computed and continuously updated by the data source
  public var index = 0
  /// The main representation of the ViewModel

    }

    size = CGSize(
      width:  ((map[.Size] as? JSONDictionary)?[.Width] as? Int) ?? 0,
      height: ((map[.Size] as? JSONDictionary)?[.Height] as? Int) ?? 0
    )
  }

