The primary "desktop" which displays an RQML document tree on the left and a JDesktopPane on the right that contains the active first-class element editor windows (that are JInternalFrame objects)
Maintains a strong reference and a weak reference to an object until the strong reference is released, thus only the weak one remain for garbage collection
Since the Memento object is only used for object persistence via the Storable interface, I bypassed copying the originator's data on memento creation and directly use the originator's variables upon serialization