Have record() initialize itself, like replay() does.

Wanted to do this anyway for consistency.  Required for #802, and it turns out, #1020.