Otherwise, I'll forget about them
The core.output module now manages the list of modules and retrieves the widgets inside draw() itself. That way, details of drawing/updating widgets are not visible from the outside anymore.
Add more stuff that needs to be considered for backwards compatibility