view model

View models hold UI-related data and logic separate from the visual view. Keeping the data and logic separate enables data binding and lifecycle management, especially through configuration changes like screen rotations.