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!
Question: do you need emails to be unique? If so there should be an index. Also, is there a reason that the other columns are left without a `null: false` clause?