DRY-ing controllers