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!
Just talked ot Gabe. Most tables shouldn't allow nulls, though if you have a good reason adding `null: true` is a good idea so people reviewing your code know you're explicitly allowing nulls and you didn't just forget to add `null: false`