We should implement the ordering before merging otherwise we may see steps being executed in random order.