{
	"nodes":[
		{"id":"0b575c52e89e5e7f","x":-868,"y":-500,"width":1018,"height":660,"color":"1","type":"group","label":"Problem"},
		{"id":"59984a2333620a30","type":"text","text":"Problem - Too much reused logic\n","x":-580,"y":-480,"width":320,"height":80},
		{"id":"4a3daa677e26d98e","x":-763,"y":-235,"width":250,"height":155,"type":"text","text":"`@Entity`s (Book, Review, Album) all have an `id` and an `attributes` field."},
		{"id":"189837e2bb3fcc18","x":-440,"y":-233,"width":250,"height":153,"type":"text","text":"Controllers and services for each entity perform almost identical operations."},
		{"id":"1144a58bdce0327e","x":-848,"y":15,"width":308,"height":125,"type":"text","text":"The `@Embeddable` attributes are also functionally the same, although with different values"},
		{"id":"5739ca50af3e054a","x":-120,"y":-235,"width":250,"height":117,"type":"text","text":"Updates to common functionality require changes in multiple places"}
	],
	"edges":[
		{"id":"2b2b795da278ff01","fromNode":"59984a2333620a30","fromSide":"bottom","toNode":"4a3daa677e26d98e","toSide":"top"},
		{"id":"2ea24f6cc0e66abd","fromNode":"59984a2333620a30","fromSide":"bottom","toNode":"189837e2bb3fcc18","toSide":"top"},
		{"id":"6b94289b63a6655a","fromNode":"4a3daa677e26d98e","fromSide":"bottom","toNode":"1144a58bdce0327e","toSide":"top"},
		{"id":"c4ea927674cd8e4d","fromNode":"59984a2333620a30","fromSide":"bottom","toNode":"5739ca50af3e054a","toSide":"top"}
	]
}