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 entry 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.