refactor radio.coffee to expose abstract game state controls