Game logic moved to SPA.