I request a slot called "properties" that can hold arbitrary key/value data.
If it's arbitrary, it's not usable from one system to the other, and thus serves no purpose.
Are you the same Zach Beane who refuses to use system-relative-pathname to find files relative to the source directory?
These two attitudes seem to me to be inconsistent simultaneously with each other and with reality. On the one hand, you promote the use of the system objects to hold information that cannot be acted upon using any uniform interface across systems, rather than per-system variables, even though only system-specific functions can ever hope to make use of them. On the other hand, here is a uniform interface to locating system-relative information, and you don't want to use it, instead reinventing one new variable per system.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Government's view of the economy could be summed up in a few short phrases : If it moves, tax it. If it keeps moving, regulate it. And if it stops moving, subsidize it. — Ronald Reagan (1986)