Can GUI do without cloning ISimulation's?
Core could be simplified if we were allowed to remove ISimulation(const ISimulation&) and ISimulation::clone.
As far as I see, ISimulation::clone is only used by GUI::Model::ObjectBuilder::populateSampleModelFromSim. Strangely, I cannot find where that function is called. If it is removed, the project still compiles, but many tests fail.
So, in a first instance, we ought to understand how populateSampleModelFromSim works. Then we can decide whether ISimulation::clone can be removed.