Data recording much more optimized, data isn't organized until after rec...

...ording has finished so that we're not looping through data while simultaneously recording.

#636