Abstracted Simulation; Added a fitness cache