I think you're fine with the eggbutt snaffle. I would first get your horse in a well controlled environment (arena, fenced paddock, etc.) where you feel comfortable holding the rein "on the buckle". Start at the walk to teach, even though you don't have an issue at this gait, you need to start slow. Ask your horse to move off at a walk. Let him walk a few yards on a very loose rein, then slide one hand as far down the rein as you can reach and pull from this point up to your hip. Hold this until he stops his feet, then release his face and flex him the other direction in the same way at a standstill. Repeat. Switch starting hands to keep him from getting one-sided. When he is perfect, and stops on a dime on one rein (Like, ONLY stop him this way. Pretend you don't have 2 reins whenever you ride), graduate to trotting, downshifting to a walk or a halt, as you choose. Again, when you are proficient, you can canter. NOTE: Before you pull on one rein, sit deep and relax your body. This is the "pre-cue", and your gelding will learn to stop in response to your seat alone. Still, even if you don't need the one rein stop to stop his feet, flex both ways anyway. This is a one rein stop, like emergency, but in this context it really reinforces your stop cues, and makes this second nature to both of you if (Heaven forbid) you have a bolting situation. When your horse stops on a dime from all 3 gaits (and gallop, too, if you want, just be prepared to spiral down instead of slide, lol), you can go back to both reins. Right now he's just bracing on your hands. Pulling one rein will offbalance him and stop his feet, which right now is the most important thing.
I hope that helps! Good luck!
A stubborn horse walks behind you, an impatient one in front of you, but a noble companion walks beside you ~ Unknown