I have a GUI app that constantly changes its look based on user interaction. In particular, I have two areas, each of which will be replaced by a particular widget (actually a groupbox containing multiple fields) depending on the user's selection. Each of these areas *might* potentially contain the same widget, although different instances, so their members can be accessed separately.

Is it possible to create a "widget template" from which I can create multiple instantiations, and use them wherever I wish? The alternative would be to create two of every possible groupbox + fields, which I'm not too thrilled about doing, since I could potentially have a lot of them.

Thoughts?