refactor to allow shimming game-specific initialization