Excellent introduction to Model-View-ViewModel http://msdn.microsoft.com/en-us/magazine/dd419663.aspx