Each WebWindow class corresponds to a particular HTML page that we serve the client. The HTML page is the expression of the window in the browser, and the WebWindow object is the expression of the same information in the game program. The two are different facets of the same conceptual UI object. The reason we need the two separate expressions is that the server controls everything, but the client has to do the actual display work, and the two parts of the program speak different languages - the server is TADS, and the client is HTML.
The WebWindow object on the server lets us easily reconstruct the UI state in a newly opened browser window, or when the user performs a page refresh. This object's job is to send information to the client on demand that allows the client to display the page in its current state.
Note that a given WebWindow/HTML page combination can be used more than once within the same UI. The pages defined in the library are designed to be generic and reusable, so you might use the same window class more than once for different purposes within the UI. The library pages can also be subclassed, by subclassing the WebWindow object and creating a customized copy of the corresponding HTML page resource.
WebWindow : WebResourceResFile