Generally, I've tried to keep that switching pattern at the layer of the user switching delegate callback (the AppDelegate, most of the time).  I could implement that as a sample pattern there.