Michele, this is spot-on for the reason why I went in the direction of creating widgets for Table, TableRow, TableCell, etc. The reason is flexibility. I started down that path the first time I wanted to use the grid widget.
I wanted my grid to have a first column that contained a little icon, that you clicked on to get the details for the data contained in a particular row. To do this, I had to subclass the grid widget in order to override not only the css for grid, but the template too. Now, you might say that this is exactly the intended way to change the behavior of the grid widget. But this seemed to me to be an ugly, hackish way to go about it, when all I wanted to do was add one column to the grid. By using a more flexible set of widgets, not only can I easily add a column to my table, but I can apply the attribute I want specifically to the elements of the table where I want them.

