Managing UI State Keeping data safe during rotation with ViewModel. Reactive programming with LiveData. Observing data changes in the Activity/Fragment.