He sounds like a very smart boy. Re the sit/stays, I think you need to practice these first where there are less distractions, so in the house. Build up very slowly and don't move them outside until he is rock solid in the house. Start by leaving him just one pace and going back after just a couple of seconds to praise and treat him. Then move away a few more paces and repeat. Gradually, over a few sessions you can build up to leaving him longer, turning your back, running away, walking towards him and then away again etc etc. All this should be done in short bursts over a week or two. If he breaks from the sit, pick up his lead (always leave this on him to begin with) and walk him back to where he was. Then do just a short easy sit/stay before building up again. Don't try to go to the next stage too quickly and stop once he is getting bored.