When teaching stay, especially in the first stages (and also just to brush up on) what you can do is have him sit in front of you, focused on you. Command "stay" and only wait about 1 second. After that one second, give him the treat and praise him! You're rewarding for that second that he didn't get up.
As far as tricks training goes, it can either be very fun or very frustrating. The important thing to remember is the fact that dogs are so much more capable than we credit them to be - they have the equivalent mind of a 3 year old human! So, teach them like you would teach a little toddler. Let them know that they just did something "extraordinary" and it's awesome! Really let them know that they did something good. Get in their face, praise them. Kiss them on the nose. Talk to them like you would to a toddler!
Last thing, keep it fun and positive! Think of it this way: when you walk into a classroom, you would much rather have the teacher teach you something with maybe a game or including M & M's than saying "Do problems 3-40. I'll be at my desk if you need me."
Same mindset with a dog! Best of luck to your training!