Refactored `show*` methods to reduce code duplication.
Added class javadocs for the `Viewer` class.