Added PropertyChain

Added a Property Chain list as the recursive nature of the library
caused ParentProperty to constantly get overwritten