AppController: implement moveTab
AppController: dry
AppController: bounds check before moving tab