@stloyd Because it is compatible with `Sylius\Component\Order\Model\OrderInterface` which gives developers higher level of flexibility. Maybe someone uses promotions without core component.