ok, wow, some kind of "PropertyHelper" class might be a good idea

That way, you could condense all the different cases in one place and if
people try to make sense of it, they can look there. Otherwise you're
hunting through the code. Furthermore - that would make it a lot easier
to change things should you want to, down the line.

What I'm thinking about here is stuff like:

isOwn($property), isShared($property)
isSpecial($property) - to do the two above at the same time
camelcased($property) - to check for ctype stuff
...and so forth