Clean up and document the clone() method in SimulationListener