Note : This entry is a design pattern proposal to facilitate components development. Please comment.
Developing a component using the CDK generally means that the developer adds functionalities to the CDK. It also means that the developer develops inner services which also have lifecycles. For example, a storage service which has to be initialized, started and stopped. I suggest to add a inner service support within the CDK which will handle lifecycles automatically by mapping inner service lifecycles with component lifecycles. It means that the CDK must provide an API like register(Service) which is called in the component implementation or by configuration before calling initialization.