CHG: modifications to allow controller switch via listener