Expose export to callbacks
Sometimes, there are callbacks that do something that needs to be recorded in the output file (e.g. alter the state of one cell in a way that cannot be reconstructed from a snapshot). This could be done e.g. by adding a general purpose logger to the Simulation, which can then be serialized as part of the Simulation.
Edited by Lukas Hupe