Seperated UI logic with game logic