Making this generic is still an option - DB API methods could accept a ResultSpec.  The problem is differences in field names, normalization, etc.  I don't want to tie the DB API schema too closely to the DB schema.  So, if that becomes necessary later, we can always add it with this model, but for the moment it's ad-hoc and only where necessary.