I'm not sure I like this. Everywhere else we use pojo's and either the ClassMetadata/FieldMetadata and/or annotations to discover how to present the field.