Why was this code changed? What does this have to do with Traits?