...
[15:51:28 CDT(-0500)] <drewwills> could be a Map of daoDescriptor (group & dao mapping) to inputs
[15:53:20 CDT(-0500)] <athena> Map<groupName, Map<attributeName, Descriptor(daoImpl, input)>>?
[15:53:45 CDT(-0500)] <athena> where the group mapping is actually ordered, so that you can get consistent behavior
[15:53:54 CDT(-0500)] <athena> or maybe that can just be a list