I know you don't like the validateFlags, setup, run, cleanup procedure.  Should we replace it with something better, or just do like this and put validating and setup logic wherever they need to go between the two methods?
I think validateFlags could just go away entirely and validation can be run in setup with whatever timing the tool requires.