It would be natural for SampledCorrelationsStatic to track the variance of the energy and the covariance of the magnetic moment fluctuations. Through the fluctuation-dissipation theorem, this would yield the heat capacity and magnetic susceptibility, respectively. One could get running estimates of these using a generalization of Welford's online algorithm. Along the way, we can also create methods energy_per_site and magnetic_moment_per_site that estimate thermal averages. To implement magnetic_moment_per_site, we could keep a running average of each expected spin dipole in real space. This allows to implement also magnetic_moment_at.