Added an option to self-register a component