MutableLiveData
MutableLiveData is a lifecycle-aware data holder class that is observable within Android apps. It is a mutable subclass of LiveData, part of Android Jetpack's Lifecycle and LiveData components. MutableLiveData holds a value of a generic type T and notifies active observers whenever the value changes.
Mutability is provided by the methods setValue and postValue. setValue(T) updates the value on the main thread
Observers register with observe, typically from an Activity or Fragment, using a lifecycle owner so updates
A typical usage pattern is to declare private MutableLiveData<T> in a ViewModel and expose public LiveData<T>