PLA-1628 Refactor Special Promote

@SebastianMarzjan ?