Extract inner classes into FieldDefinitionBuilder and sub-class. Test.
Add more tests for FieldDefinitionBuilder. Javadocs.