breaks out DSL classes into separate files, DRYs up a couple lines in action controller