Introduce the FormDefinition class, so AbstractForm won't have to deal separately with Forms and FormCollections.