I don't like building these items in the valid method but IF that is the normal pattern, at a minimum this building should be another private method that you call.