Updated proof of concept refactoring to dynamically track properties