M.D.
Stop letting him manipulate you. If you say that he's going to get a 5 minute time out, set a timer and give him a 5 minute time out.
If you are somewhere fun and you say that he needs to stop X behavior or you will take him home, if he does X, immediately take him home.
He's 3. Don't do long explanations. A simple "I told you to stop X. You didn't listen, so now you are in time out/have to go home/can't play with that toy anymore/etc." is enough explanation.
A cardinal rule my friends told me early on was to never tell a child a consequence that you don't plan to keep. Sometimes the consequence is worse for the parent than the child, but it doesn't matter - if you make the rule, you enforce it.
(A key example for me was when a child misbehaved in a public place - something every toddler tries. I would tell them - stop or we leave NOW. Was it a major PITA for me to leave a half full grocery cart, knowing I'd have to come back another time and start again, or have a server pack up a dinner that I didn't have a chance to eat a single bite of while I waited in the car with a screaming kid? Yes. But the short term frustration is better than the long-term impact of a child that knows you won't enforce inconvenient rules.)
Good luck.