Use a real polymorphic relationship

We wanted to find the object the Impression was related to. Is there a reason your code goes through such gymnastics to do this rather than use a proper relationship?