The problem is you get more information in the future, but all this boilerplate is has been written before that information so the first instinct / seemingly least-resistance thing to do is to fit the new information into the old boilerplate / hierarchy.
Lots of people have OO scar tissue from getting weird impedance mismatches on newish OO systems designed this way.
Lots of people have OO scar tissue from getting weird impedance mismatches on newish OO systems designed this way.