I've found a straight forward way to solve it by extending the contract `B` ABI with the events of contract `A`. `A` is inside of `B`, so `B` can call to `A` methods and trigger `A` events. While `A`'s methods are encapsulated, `A`'s events are not. By this line of thinking in makes sense to include `A`'s events in `B`.


Any thoughs about this pattern? Other solution?