We investigated this problem carefully in >A Mariage of Class- And Object-Based Inheritance Without Unwanted Children. We were not the first to recognise this as the same problem was adressed in a small paragraph in [Dony et. al. 92].
In order to overcome these problems, a dynamic extension mechanism based on mixin-methods was designed and shown to be encapsulated.
Currently, we are trying to formally unify this mechanism with extension from the outside. One way to solve the problem was integrated in the implementation of Agora96. It uses the reflective techniques of Agora.