Controller Refactoring (Part 1)