An incoming email gets processed and saved to the database

An incoming email comes into `EmailProcessor`
`EmailProcessor` passes the email to `PackageGenerator`, and call `.generate`
`PackageGenerator` uses the `EmailAdapter` to clean up the data, and passes it to `Package` where it creates a new `Package` object, returning it to `EmailProcessor`.
Back in `EmailProcessor` it is saved in the database.

WOW!
If you do need uniquess validations, make sure to add them to the appropriate models.