Any scrollable object is a viewer of a document (the view showing a portion of the document). The view's vertical offset is a property of it, not the document. You can either model a widget (dropdowns included) as another document or as a hack. As a hack it could have all it's stuff included. It's possible to create an adapter for custom overlayed scrolling elements to accomodate additional options.