Rework new validation module for Carl's changes in c4f468e43b93406804bd7665a2755b16f8bac463.

Also delegate controller base methods to module to eliminate code duplication.