BaseViewModel
Base ViewModel with a StateFlow-driven unidirectional data flow.
Provides common patterns for state management matching TCA's reducer pattern: a single immutable state snapshot, updated only through updateState, and a single onEvent entry point for user actions.