added class around PacketPayload to clarify types
reserve, not set initial size