Finished ProtoRecorder implementation.
Now only record states once per timestep, rather than redundantly storing previous and current each timestep.