Is it possible to add attributes at runtime or to change the value of an attribute at runtime?
In Java I used to work around this by using a map and implementing my own take on Key-Value coding.
http://developer.apple.com/documentation/Cocoa/Conceptual/KeyValueCoding/KeyValueCoding.html