ViewModels for existing puzzle types + Game state