I have a quick question about the struct osip_transaction defined in osip.h. When I checked the source code, I found it's holding an element osip_srv_record_t record which is about 11KB. I'm just wondering why it is an instance instead of a pointer just like all the other structures inside the osip_transaction, because for me it looks like wasting memory for each transaction if the field is not in use. All the other elements of the osip_transaction in total is just about over 100 bytes. Is there any other concern about the design?