Since many windows may be in existence at any time, windows having similar properties and behavior are grouped into window classes, with each window belonging to a class being an instance of that class. Window classes may be public (defined by Presentation Manager and usable by all applications in the system) or private (defined by the application and accessible only by that application unless an application developer decides otherwise; see Creating Reusable Code). Private window classes are registered to Presentation Manager by the application upon initialization of the application.
Presentation Manager maintains control information relating to each window created in the system, including properties such as window text, current size and location, etc. In addition to this information, an application may specify an additional area of storage to be included within the window control block for application data relating to that window. This storage is known as window words. The presence and size of window words is determined for each window class at the time the class is registered to Presentation Manager. However, a new storage area is defined for each instance of the class, and window words may therefore be used for instance data. Window words typically contain pointers to dynamically-defined application data structures, which in turn contain the instance data.