Vidím, že se to tu rozjelo

opět, vím, že se jedná o špatný návrh, ale povím k tomu ještě pár věcí. Není problém abych to rozdělil a měl např. typy třídy B v podobě
[Ba,Bb,Bc,Bd,Bq,Bx ...] já je tímto způsobem i rozdělené mám. Uvnitř třídy A je několik pomocných zásobníků, které je rozdělují třídy B na další verze.
Když ale vidím, ty nápady, tak jsem si uvědomil, že jsem zapomenul zmínit jednu důležitou věc. Já bohužel nemůžu funkce, které zpracovávají ty jednotlivé třídy B upravit. Dále jde o to, že ty funkce jsou primárně určené právě pro již vybrané množství dat. Jenže program pracuje s celkem, který se jako celek předává těm funkcím.
díky tomuto právě nemůžu např. použít metodu objects_ba(), objects_bb(), objects_bc(). Ano byl by to ideální případ, ale není to tak jednoduché.
Napadla mě ještě možnost ... Dovedu postupně dopředu určit, kdy je která funkce volaná..... takže i vím, že když jedna doběhne, já by měla následovat. Možná by cesta, která by nastavovala nějakou globální hodnotu pro třídu B a ta následně věděla, že má vracet jiné hodnoty?
Jenže nevím, jestli to není ještě horší návrh.
Můj původní předpoklad totiž byl, že zjistím jaká funkce, mě volá a následně z vybraného zdroje např. třídy Bb budu vracet tyto instance.
Na druhou stranu děkuji, za názorné vyslovení, že toto není dobrá cesta

Pokud někdo máte ještě nějaký nápad, který by šel na straně třídy A použít, rád si ho poslechnu.