Handle enabling to start component: skip all its childred.
Macros to export component has been used instead of implementing those methods manually.
Function names have been fixed.
Export component macroses have been moved to the cpp.
API documentation has been updated.
Use EXPORT_COMPONENT macros.