* refactor ChainedProperty to also be a DynamicProperty