I think this is too convoluted because, like Estaban says, you want to keep the theming orthogonal with widget definition.Yes I do not like it either.But, you gave me an idea:If we implement in Morph the followings:Morph>>themer^ themer ifNil: [self themerFor: self theme]what would be self theme I do not really like the idea to have all the morph talking to UIThemetheme^ UITheme currentis not sexy to meMorph>>themerFor: aTheme^ self subclassResponsibilityAnd then in a morph we would have something like this:SpotlightItemMorph>>themerFor: aTheme^ aTheme spotterThemerSpotlightItemMorph>>onSelectedself themer configureSelectedItemMorph: selfThen we could simply do pretty much what you want:SpotlightItemMorph new themer: MySpotterThemer new.I like this idea. What do you think?I do not know. Now what is clear is that we need strategy as in your original design. I was thinking about that too.Stef