If you only have a few UI elements, a small data class and your controllers have only a few actions to perform - you may consider using no architecture at all. Just make a global “controller” object and/or a global data object. By “global” I mean you may use dependency injection, or propagate the instance from the root activity to its child views, or make it a singleton. Simply bind data to your views and call controller methods from your event listeners.