Quote Originally Posted by wysota View Post
An alternative is to have an external helper class that implements solely the "shared" functionality and call that object's methods passing the object it is to manipulate. Then you need implementations of that class to handle objects of specific types (ones that have the "RGB" functionality and those of the "TIME" functionality). Patterns like 'visitor' or 'strategy' come to my mind here but probably more solutions are possible and viable.

In the end you have one "instance" of functionality per class instead of having one per item which escapes the memory hog trap.
I'm intrigued by this possibility. Are you basically describing the situation of having specialized storage classes with one generalized access class?