In my current TG dev, I mixe generated code and widget definitions. When I customize a generated template, the template is no more regenerated (but a proposal is generated). When I customize a widget definition, then at restart all template using this widget are changed. Like this, the two way could be used, and data generated by controler are simple dict compliant with current json feature, the controller doesn't generate the widget on every request.
About your proposal to one package per widget, there is some drawback (I've not yet found an absolute solution) : * to many files if there is one package per widget or compount widget (in by basic current dev, there is 4 basic widgets and 3 compounds), * often widgets share some resources (js, css, png,...) => duplication So I think one package per set of widgets (1-n) is better. An other problem is that statics resources are under x/static directory, so resources must be : * copied under static directory * or declared into configuration (cherrypy and may be httpd frontend) None is "nice", any suggestions ?

