Btw, if you remember, i already proposed how to solve 'extending object's state with arbitrary state' , mainly by changing the object format to support variable number of key-value properties per object.
Similar to javascript or self, where you can define a new property on a per-object basis.
This is fairly easy to implement, at VM level, just reserve extra field in object format,
define the format of key/value dictionary and add primitives to retrieve and store key-based properties for objects.