Is this Efficient? Walk -> Sprint -> TacSprint and 2Speed Crouch Logic

The goal was to set up 2 Sprint Speeds via a single button press and a double button press. Crouch was two speeds as well, the faster being triggered by the sprint key. What I’m wondering is this a good way to set this system up or did I over complicate it? It works and it’s the only way I could get it to work.