Well I'm not sure if someone has already said this as I don't feel like reading thru 4 pages. But I read that if you start when the dog is a puppy when you start walking and it starts walking ahead of you for you to stop and when it looks back to see why you aren't following to call it back and then start walking again. Then keep repeating this until the dog gets the idea.
In obedience class, our trainer loaned us Gentle Leaders to try out and many of the dogs did significantly better. They sold a lot of the leaders after class let out and I can see that those dogs don't pull or wander nearly as bad as they used to.
I have a yorkipoo and it seemed a bit over-the-top to use a leader on a 4lb dog, so I opted not to purchase it.