dispose method
Disposes the shared state and unregisters listeners.
Call this when the state object is no longer needed to prevent memory leaks.
Implementation
@override
void dispose() {
debugPrint('[SharedState] Disposing $_type');
SharedStateManager.instance.removeStateChangeListener(
_type,
_onStateChange,
);
super.dispose();
}