If the target flavor declares it → enable + reload.
Otherwise → deactivate + disable.
On any reload failure the switcher backs out completely: every
extension we touched is restored to its prior enabled state, and
the active-flavor pointer stays on current (if supplied).
Drive the switch. For each installed extension:
On any reload failure the switcher backs out completely: every extension we touched is restored to its prior enabled state, and the active-flavor pointer stays on
current(if supplied).