MetaMorphism is not a standard aspect of Object Oriented Programming, but it's something I always felt is needed in real world Object Oriented Programming. MetaMorphism, as I'd define it, is the ability of an object to transform itself into some other object based on the run-time conditions. I'll be working on a more detailed definition that I'll post here soon. -uk Well, you may be interested in TypeMigration. ''Does this problem exist in SmalltalkLanguage?'' SmalltalkLanguage implemented become by replacing a pointer in the global Dictionary in order to replace one object with another. --ChrisHibbert '''In what way does this differ from the Strategy or Decorator Patterns?''