The properties are kept in separate Thing Entities, but certain properties are meaningful for other entities as well.
So to keep a record of the properties I need, I would create several properties in my Thing, and local-binding them to the properties I need from other Things, or else I need to write services to extract value from elsewhere with code { my.value = Thing["Other_Entity"].value ; } and keep them triggered on every valuechange events.
Creating a local variable and bind it to a global variable is very common in coding, and in TWX syntax, I have a remote Thing receiving data from some end devices, and I created a separate Thing, inheriting the properties from this remote Thing, and write some extra functions on it could also be very common. The Local-binding is just a value reference, it's not a big deal.