Refactor mode and variant...

Order of evaluation:

1. Explicitly set on controller at init
2. Overriden inside the controller before viewDidLoad
3. Inferred from the title in BaseViewController

These can still be nil, e.g. the menus
Auto-transition to the highlights if there are any