The GXT Toolkit provides a Window widget and robust API for creating cool windows. The API allows us to make a window that is draggable but constrained to the browser viewport, thus you can drag the window abitrarily across the screen but none of it's edges will go outside the viewable area of the browser (viewport). 

However, I think its only logical that we can constrain the window to a Container / Component, which can turn out to be the borwser viewport (this can be the default) or something else specified by the developer. I am persuaded the like me, some developers will have need to only allow dragging of a Window within the bounds of a particular region of their application, defined by the component occupying that reagion, say the center region of a BorderLayout.

Secondly, I support that WindowManager really should have been implemented using a ManagedWindow Interface, rather than directly referencing the Window class. This would have allowed any well behaved ManagedWindow implementation to join the party, rather than just GXT Window objects as defined by / extended from GXT. A simple UML sketch of this design will look like this:

Well, I don't know how feasible this will be considering that GWT (and GXT by proxy) has no support for Reflections. We are therefore left with the static GWT.create() "factory" method.