Within the Presentation Manager application model, a window procedure provides both the definition of a data object and the methods that operate upon that data object. A window procedure may therefore be considered as a complete application object in its own right.
Where the data object to be manipulated by a window will be accessed by a number of applications, it makes sense to define the data object and its methods once, in a single window procedure, and to make that window procedure available to any application that needs to manipulate the data object. Any changes to the data object's characteristics or processing requirements can then be contained within the application object, avoiding the need to modify and recompile multiple applications. The dynamic linking capabilities of OS/2 facilitate such a technique, enabling such modifications to be automatically incorporated into applications at load time or run time.