New ReflectionClass which supports searching hierarchy

TODO: Need to replace all calls to new \ReflectionProperty