Rename 'TypeField' structs to 'typeField'
Define all field interfaces in a separate file
Return interfaces instead of the underlying structs
Spaces to tabs