savemonitor: Another complete rewrite, this one is best
autorest: Use new savemonitor
optics: Use new savemonitor
nlaw: No need for an init function