This is sort of odd, in that it both creates the record and changes an instance variable, which ripples across a lot of the internal state.

I don't have a solution right now.