A ShipmentKey serves as the key in the key/data pair for a shipment entity.
In this sample, ShipmentKey is used both as the storage data for the key
as well as the object binding to the key. Because it is used directly as
storage data using serial format, it must be Serializable.