Does this need to be a trait?