I would love for this logic to be on the model, rather than the `ViewSet`. That would allow us to use this outside of the view if the need arises in the future.