For example, the GUIPanel
encapsulates a graphical panel
that IDEs can host on IDE provided windows.
The Viewable
interface is an abstraction for data objects that
can be displayed inside graphical user interfaces, and that users can
select and perform operations on.