At this point the ModelData layer of indirection is pointless and just
adds complexity. The optimizers either act on Particles directly (MD,
MonteCarlo), or copy all the desired data out into a temporary array
(the rest). The latter couple be done easily enough by acting directly
on the Particles.
Other operations, such as statistics, which were originally envisioned
as happening in the table are now done by states of various types.
I propose we think about destroying it and storing data directly in
the particles. The current situation doubles the amount of memory that
restraints have to touch which can't be good for performance.
Agreed. I can't think of any useful purpose that ModelData serves these
days that Particles do not.