Works without timeouts. Needs a simple way to switch goal colours.