put some display logic in the model because that seemed like the only way to do it?
only time will tell if this was a terrible idea.