Again, please shift as much of this logic into the `CertificateItem` model as possible.