@MasterPie: I see the ViewModel as an adapter between the Model and the View, that enables you to keep the Model clean of View-specific stuff. The coupling between View and ViewModel tends to be tight anyway, so I don't mind having some additional properties for the View in there.