We're not going to merge it as is. But it's enough to start the discussion.
In particular, the files Solver.scala and SolverAlgorithms.scala are affected critically.
Branchpoints and backtracking removed (was never used anyway)
Stateful fields encapsulated in a class
new functionality for reading out and setting the whole state (e.g., for undo/redo functionality)
various hard-to-understand low-level changes that may or may not break things
This is what @SvenWille has done so far.
We're not going to merge it as is. But it's enough to start the discussion. In particular, the files Solver.scala and SolverAlgorithms.scala are affected critically.
@Jazzpirate Can you have a look?