Draft of basic property validation logic
Use reflection to match type in validation