Maybe you can walk me through the class hierarchy because I'm confused about the various places that have get[Type]() methods