Explain the difference between MVC, MVP, and MVVM architectures, and why you would choose one over the other for a Housecall Pro mobile client.