Refactoring the Solver execution model