Your UI components shouldn’t have to be state managers, but they’re supposed to be UI managers and controllers. View and Controller is tightly coupled in Android, and wrapping this into a presenter just makes the code bloated, leaks the context anyway, and is just a new mess. It’s an antipattern. Luckily, Google has provided a way to be more clean, with LiveData, ViewModel and Lifecycles. MVP is nice to have for big apps, in which multiple coding teams work on the same code base, etc. Then, maybe it’s worth it. But you really shouldn’t have such a big app unless you’re Spotify, Facebook, or Google.