Re-add missing DataProperty.cs file to source control
Add smart-property initialiser classes; these will be the basis of fluent property-initialisation-api
Refactor ViewModel class to support new property initialisation procedure; all init happens in overriden methods that are called by base viewmodel's ctor.