ViewModels in ASP.NET MVC applications - This is how it works