This feels like something that should belong in the `Category` model.