Currently, Cell-backed Widgets redraw themselves every time a change is made. This leads to degenerate performance where you create the widget, then call 4 setters, and the widget is rendered 5 times! I'm going to propose a solution where we defer rendering and add a flush() command toCellWidget, but that will require a design doc and a separate CL.
Couldn't you check to see if the widget is attached, and if it is, reddraw, if it isn't, don't do anything and then render in onAttach(), or you could also add a DeferredCommand to the cell widgets and everytime you set something that would normally cause a redraw, the defferedcommand is scheduled. Then multiple setters could be called and once a free cpu cycle is given, it will redraw all the changes at once. Then we wouldn't need a flush method. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
