I'm not sure if this logic is correct.  There is very similar logic inside Form, but that uses BaseFormField.  Could we extract method that on Form so that we don't duplicate it?