Save prefs in member.
Simplified / shuffled code.
Renamed methods.
Renamed listeners to m_provider_listeners.
Moved methods around.
Remember (in shared prefs) which providers are enabled.
Shuffled add/remove provider code.