LiveData subclass which may observe other LiveData objects and react on
OnChanged events from them.

LiveData is a data holder class that can be observed within a given lifecycle.
This means that an Observer can be added in a pair with a LifecycleOwner, and
this observer will be notified about modifications of the wrapped data only if the paired
LifecycleOwner is in active state. LifecycleOwner is considered as active, if its state is
Lifecycle.State.STARTED or Lifecycle.State.RESUMED. An observer added via
observeForever(Observer) is considered as always active and thus will be always notified
about modifications. For those observers, you should manually call
removeObserver(Observer).

An observer added with a Lifecycle will be automatically removed if the corresponding
Lifecycle moves to Lifecycle.State.DESTROYED state. This is especially useful for
activities and fragments where they can safely observe LiveData and not worry about leaks:
they will be instantly unsubscribed when they are destroyed.

In addition, LiveData has onActive() and onInactive() methods
to get notified when number of active Observers change between 0 and 1.
This allows LiveData to release any heavy resources when it does not have any Observers that
are actively observing.

This class is designed to hold individual data fields of ViewModel,
but can also be used for sharing data between different modules in your application
in a decoupled fashion.

observe

Adds the given observer to the observers list within the lifespan of the given
owner. The events are dispatched on the main thread. If LiveData already has data
set, it will be delivered to the observer.

observeForever

Adds the given observer to the observers list. This call is similar to
observe(LifecycleOwner, Observer) with a LifecycleOwner, which
is always active. This means that the given observer will receive all events and will never
be automatically removed. You should manually call removeObserver(Observer) to stop
observing this LiveData.
While LiveData has one of such observers, it will be considered
as active.