I just moved everything that was in start to awake. There are a few other changes I made, like using init functions rather than awake in scripts that depended on something that was initialized in another script's awake (to make sure things always happen in the right order), as well as some other stuff in some specific minigames
The soccer ball that is part of the prefab no longer defaults to the Dispensing state (when i refactored the ball script a while ago, i dealt with this problem by just disabling that ball, but this solution should work even with the ball enabled)
You'll no longer be bombarded with sfx when starting the game far after a ball dispense cue. Some of the animations are still a bit rough and sometimes the ball is never dispensed, but those will be fixed in a future commit.