gencode: improve multi-inheritance
Add pattern Observer step 3
Add pattern oop.mult_inherit