interface A; Class A: InterfaceA; Class B: InterfaceA { private InterfaceA _obj; public ClassB(InterfaceA obj}: _obj(obj); } ... пробрасывание реализации интерфейса A, и/или замещение "членом" где того требуется.
Ну вообще, я осмелился чуточку подшутить над ситуацией. Но сейчас как-то осознаю, что немного правдиво получилось. Не знаю, я больше по сетям и самоизобретениям. До полетных машин пока руки не дошли