Just want to put my two cents out there, but I think that punch would have been the perfect opportunity for Almelia to not only declare the annulment of the engagement, but also hug Selina to both stop her tears and show the public that she is not, in fact, some cold heartless villainess.
We still got the embrace in private, which is arguably better, but hugging her in public (and maybe thumbing away her tears) would have done something positive for her public image.