Component generation.