move old component register() logic to create_components() to eliminate redundancy.