move the generateExamples up to the interface so we don't need to detect
the type.
added AfterAll, which can be guaranteed to be run 1 time, after all the
subjects at that level are finished.  Useful for cleaning up shared
resources that are tied to specific tests.