Delegating implementation to extended Component

In reply to ABD_91:

This seems like a very unusual use of inheritance. Normally when you extend a class, you construct it instead of its base through the use of a factory override. You don’t construct both objects and instantiate the extended inside the base. This defaeats the purpose of extension since the base has to be aware of the extended class.