Added backend classes, the game is now runnable using a minimal state