Switching to a cleaner top-down approach for generating output throughout the inheritance hierarchy