further simplified Property definition and made extending them and using them in the extensions easier