Something i havent wrapped my head around yet is how to handle data flow correctly from Model to ViewModel. Say My Model class contains a List of DataObjects. Should the Model be providing access to those DataObjects or should it only provide copies of these objects?
Or should the Model be providing something like a DataObjectStruct, holding only information but no functionality?