I use feeding time to help reinforce the stay part. Al of my dogs get trained that they only get to et after they are sitting calmly and I release them from their sit position.
I just got a new 9mo puppy - St Bernard/G. Pyraneese - yeah already the size of a full grown lab. She came with some bad habits - clothes eating, jumpin on people/things, mouthing, doesn't walk on regular leash, no come on recall and oh yeah - Loves to eat both cat and chicken poop - eew!
Anyway - small steps I can't make her perfect right away. We are currently working mostly on 'off' as in no jumping and Stay. When it is feeding time, befoer I do anything I make them sit, then I fill the bowls and do not let the dogs near them until I give them the release command. Yes the first few times she got up right away as soon as my back was turned and I had to physically block her from the food bin, but at least we started out calmly rather than everyone in a feeding frenzy. The first couple times I held the bowls out of reach as she was learning what I wanted her to do. As soon as she sat I told her stay and only held her there for 1-3 sec. very short time, then released. After 10 days I can now fill the bowls while they are on the ground and she will give a good sit stay for almost 15-20 sec. befoer I can see that I need to give the release before she breaks it on her own.
Eventually I will work into lots of variations on the stay part, longer time, facing, or my back turned, me inside the pen outside the pen, out of visual sight for a few seconds... It can take a few months to work up to that, but soo worth it.
Good luck