Dynamically Resize GoDocument

How do you allow users to dynamically resize a GoDocument by dragging nodes to the edge of the document and beyond??

When an object is inserted or when its Bounds changes, GoDocument.UpdateDocumentBounds is called to possibly change the Size and TopLeft properties.
That assumes GoDocument.FixedSize is false.
Also, GoView.ShowsNegativeCoordinates affects what part of the document the user can see.