https://mvvmvalidation.codeplex.com/