Dear List members, The following method is defined in Class: -=-=-=-=-=-=-=-=-= Class>>isSystemDefined "Answer true if the receiver is a system-defined class, and not a UniClass (an instance-specific lightweight class)" ^ self == self officialClass -=-=-=-=-=-=-=-=-= isSystemDefined is sent a number of times. Especially by streams. I guess that this determines what should be serialized what should not. However, #officialClass has only two implementers: -=-=-=-=-=-=-=-=-= Class>>officialClass "I am not a UniClass. (See Player officialClass). Return the class you use to make new subclasses." ^ self -=-=-=-=-=-=-=-=-= And slightly more surprising: -=-=-=-=-=-=-=-=-= MorphicModel>>officialClass "We want to make a new instance of the receiver, which is a subclass of MorphicModel. Answer who to make a new subclass of. Also used to tell if a given class is a UniClass, existing only for its single instance." ^ self name last isDigit ifTrue: [MorphicModel] ifFalse: [self] "MorphicModel7 can not have subclasses, but Slider and SystemWindow may" -=-=-=-=-=-=-=-=-= There is a very strong smell for cleaning here. Apparently, most of usage of #isSystemDefined could be replaced by #isBehavior Cheers, Alexandre -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.