Allows components to declare initialization function, such that the startup code does not have direct dependency on the component.