I think a model should declare its fields. Pulling them automagically from the corresponding data object is very implicit.