switch from using instance.getValue() to using change object diffs to do recording and playback - this should save a lot of space in the case of larger recordings