changed macro to be able to disabiguate between RegisterProperty of inherited Classes, added a simple check to see if we can construct an Object in registerSpecialized (not perfect).