Oh golly, I really should have thought of this earlier! :doh: All I have to do is use a Decorator class to wrap transform an item into a stack, and if duplication is already handled it can easily handle addition and subtraction of items from the stack.

That solves that problem, and prevents any need for a "TStackableItem" class, as any base item could be stacked. Goodie.

I'll have to write a few tests and see how well I can do blind class duplication. This could get interesting really quickly.