Now working with Asynchronous solvers. Can make a solver asynchronous by
wrapping the SolverRunner class