If an object needs to represent itself as mutliple types (outside of its inheritance chain), then interfaces will probably be needed. If, on the other hand, the issue is incorporating the functionality of multiple classes, then composition may be the answer. And there's a good chance the final answer may incorporate both.