Code made more modular with rendering and game logic separated
user has more control over the moves