You could define a ViewModel (the concept, not the type) for the list item, and have only the Fragment observe the LiveData, and then notify the adapter with an updated ViewModel. I don’t see any problems with everyone working with an observable data source though, especially if we’re talking about such internal changes as the button inside the list item changing visibility