Controllers: Metaprogramming to DRY code