start generalising creator classes so we can build non-sudoku puzzles