Add test for RecordPdf model, move most RecordPdf methods to private