I had lots of trouble teaching Beau "stay" too. Every time I gave the hand-signal he would think this was his cue to start pouncing on my hand. He finally got it, and now I can get him to stay while I walk quite a distance.
Here are a few things that might help.
For a stay & recall:
Get a friend to hold his lead while you make him sit, give a treat & then give the stay command & hand signal (like a police man giving the stop signal). At doggy training we always start with our left foot when heeling (getting the dog to walk beside us), but we walk off starting with our right foot if we want him to stay.
When you get a little distance from him, give the come command & hand signals (a large V in the air with your arms), and get your friend to let go of the lead. When he runs to you, make him sit in front of you & then rewards.
For a stay & you return to him:
You can do something similar as above, except that you return to him & reward. You can tie his lead to a fence, or even tell him to stay behind a barrier like your screen door, until he understand what it is all about.
Actually, at our obedience class we use "wait" & "stay" which are different. We use "wait" if we are going to call the dog to us, and we use our left hand for the signal. We use "stay" and the right hand for when the dog most not move off at all, but must wait for us to return to him.
When you think that he will never learn it, just persevere, making if fun and eventually he will surprise you by doing it. Start with only a very small distance. For example, you might get him to sit & stay and you will only take one step then quickly step back, praise & reward. Then after time, you will take 2 steps. He will get it.