Bug 1065279 - [settings] refactor Hotspot panel with AMD pattern

It is better to update the internal states before notifying outside.