I need to create admin for content that makes a series of nested references to our separate data API. When a new content-item is created, the user selects one or more data sources from a (large) list. Then they create a list of one or more references to those selected sources. For each reference, they choose from a list of items available for that source. For each of those datasource-item's, they enter a few text fields and zero or more references to attributes available for that datasource. And for those attribute references, they can select one or more from a list of possible values.
AJAX forms in D7 seem amenable to building out the form itself, but what should I do with the values? Should I implement content types A, B and C and hook everything together with nodereference fields? That seems heavy and cumbersome to change as the project evolves. I don't know if Entity would be more appropriate or maybe something I'm not aware of.