Finalize declarative way using factory functions
Removed capability of declaring subcomponents as class attributes on parent