Discuss how you would structure a mobile app using MVVM or VIPER. How do you ensure testability of your business logic?