Change Equaler interface to Entity.
Implement the Entity and ValueObject interface in the cargo package.
Extract Entity and ValueObject interfaces to shared package.