It would be nice to have an option somewhere in CController::widget() to omit registering whatever scripts the widget wishes to use and include.
This would be very handy for rendering only the “face” of the widget and presenting it to the user in a layout builder. In such a place any widget’s functions would be more a distraction than a benefit, and in some cases its scripts may even ruin the builder, especially when the widget along with its CSS must be fetched over AJAX and inserted on the fly into an already complete page at the client side. As it is now, I have to process the incoming widget’s HTML and either discard all its links to external JS and CSS which were already loaded (which requires some dancing around jQuery), or simply remove all scripts altogether, before embedding the HTML into the page.