- use when model needs to be transformed before display, and you don't want that logic in the VC
- VM can be wrapper around model, with methods that make it easy to present in a View
- VM, if meant to be used with only one view, can contain logic to accept the UIVIew and configure it to display the model