refactoring so that we can have a self-contained crystal viewer widget: banner, help text, and output are all part of the widget, and mouse/keyboard control is self-contained too.