Похоже, что MutableLiveData отличается от LiveData только создавая setValue() и postValue(), тогда как в LiveData они защищены.
Каковы некоторые причины сделать отдельный класс для этого изменения, а не просто определять эти методы как общедоступные в самой LiveData?
Вообще говоря, такая форма наследования (повышение видимости определенных методов является единственным изменением) хорошо известной практикой и каковы некоторые сценарии, где это может быть полезно (если у нас есть доступ ко всему коду)?