share more code in RecordComponentWriter

1 job for asm8-record in 10 minutes and 3 seconds (queued for 2 seconds)