[Component] Promotions

Replaces #552.