This feels weird in the model. A view concern, no?