Here's a basic class tree for some of the classes ... Pageent (base class for any object on a page). | +--Basic_Frame | | | +--Cached_Frame | | | | | +--Image_Frame | | | | | +--Text_Frame | | | +--Raster_Frame | +--Group (has list of pagents) | +--Page Document (has list of Pagents and list of Text_Streams) Text_Frame <- two-way knowledge -> Text_Stream Todo: Fix filewatcher so it doesn't stat() all the time ...