A Generic Model Driven Methodology for Extending Component Models