Controller refactor

OK, my third attempt a refactoring the controllers. This one I like. It will probably send our CC back to passing.