спасибо. в конечном счете тоже пришел к такому мнению. Есть объект который возвращает объекты и это в целом соответствует принципам ООП, да и как оказалось дальнейший код в такой реализации пишется достаточно удобно, приметильно к моей задаче
не если будет 1 класс форм с создание, размещение и обработчиками то это класс будет очень трудно править\читать. поэтому и разделил логику на класс создание формы и размещение элементов и на класс создания объектов (кнопки, текстовые поля, лэйбыл и пр.) и добавления на них обработчиков
тогда деления 2-го массива (массива б) на 2 массива размера 3 не получится. Если я правильно понял, у вас получится что то вроде
[а,а,а,а,б,б,б,б,б,б,в,в,в,в,в,в,г,г,г,г]
[[а,а,а,а],[б,б,б,б,б,б],[в,в,в,в,в,в],[г,г,г,г]]