Firstly, teach your children to 'let sleeping dogs lie', a valuable lesson believe me! Dog in bed, leave it be!!
Secondly he sounds like a strong willed character but I think you are doing things right but its difficult when its not just you and the dog, too many others around makes it hard to train eh?
definately be the boss ALL the time!, use very few words eg sit, stay, down, leave, back. be positive in your approach, never go to your dog to give him praise, call him to you. lead work at this age is sooo important, I have a rescue gsd whom I literally attached to me when outside so I could control/command all the time.