D.D.
my son is 3.5..sometimes he's a hellion too..i give him a choice between 2 things..i say..that he has a choice..1. we will leave right now or you can behave and we'll stay.
then if that doesn't work...i tell him i won't buy him toys anymore LOL! no really i usually have us leave immediately if he's miss behaving..i praise him when he does behave..i don't really punish i talk to him..and i tell him why i am telling him not to do that ..b/c they don't understand why they can't do it.