My boy sometimes is grumpy and nasty, I explain to him if someone else is doing the same to you, how you will feel? Then, he understands that he has to respect others and can't go over the top.
But I'm still working on my patience, he's quite cunning that he at times tests my limit and see how far he can go. If I'm losing my patience, I simply say to him I need a timeout.
Thanks for the advice!