Ae fn functionality

review @tleach cc @nrschultz 
Again, what we're testing here is "validation", not the validation of any one thing. Can we make these just one class?