Refactor Solve to SolveDriver(Model, Set<SatConstraints>) (Not Finish)