Implemented #5 for properties, refactored helper methods to ReflectionHelper