This should make it easier to hack, and also to separate out the tangled in third party EvolutionarySolver as/when we can.