Converts items to json encodable Map to store their layout.
Map<String, dynamic> toMap() { return {"item_id": identifier, "layout": layoutData.toMap()}; }