Peter,
That looks great. However if you then cloned your main form using solutionModel.cloneForm() and opened several instances of it at once you'd find that your tabpanels stop working in all but the most recently opened clone. Also if you need to put code in your main form that references the tabpanels (or vice versa) and you want that code to work in the clones, that can be a challenge because the clones will all have acquired new names. Those are the problems for which I have proposed solutions in my article.