More refactor work on Output class hierarchy