Unlike just repeatedly adding the data to a list, this recorder checks to make sure at least one value has changed before adding it to the list. It then offsets them with time so that they are replayed correctly.