I think when you have that message timer, ( Displays a message every 5 minutes or what ever ) you create a button. You could link it up, so if there are cars in the ring, that could be done as: Cars = 1; create a button , after 1 second create button, etc...
If you don't need to do anything else in that time, you can do Thread.Sleep(1000), and then update the button, then sleep 1000 again, and so on until you get to GO! If you do need to do something else at the same time, you'll need to use a timer. The best tutorials for timers are on the web, but to just to copypasta one, you could grab one from the open source cruise server
As other told you, if you have nothing to do when waiting to display the other button Sleep(n) should do the job right.
Into Drive_LFSS , they exist a code to display timed button from a stack of buttons, using a SendUpdateButton() function from a timer value.
The code is maybe a little big from what you need, since is a very flexible code.