DRYed controllers a bit