import logging

logger = logging.getLogger('tohu')


class CustomGeneratorMetaV2(type):

    def __new__(metacls, cg_name, bases, clsdict):
        logger.debug('[DDD] CustomGeneratorMetaV2.__new__')
        logger.debug(f'         - metacls={metacls}')
        logger.debug(f'         - cg_name={cg_name}')
        logger.debug(f'         - bases={bases}')
        logger.debug(f'         - clsdict={clsdict}')

        new_obj = super(CustomGeneratorMetaV2, metacls).__new__(metacls, cg_name, bases, clsdict)
        logger.debug(f'         -- new_obj={new_obj}')

        def reset(self, seed=None):
            logger.debug(f'[EEE] Inside automatically generated reset() method for {self} (seed={seed})')
            logger.debug(f'      TODO: reset internal seed generator and call reset() on each child generator')

        new_obj.reset = reset

        return new_obj
@@ -160,17 +160,41 @@
 g('%5BDDD%5D
- 
+')%0A        logger.debug('
 CustomGe
@@ -236,30 +236,24 @@
 ger.debug(f'
-      
    - metacls
@@ -284,30 +284,24 @@
 ger.debug(f'
-      
    - cg_name
@@ -332,30 +332,24 @@
 ger.debug(f'
-      
    - bases=%7B
@@ -376,30 +376,24 @@
 ger.debug(f'
-      
    - clsdict
@@ -402,24 +402,89 @@
 clsdict%7D')%0A%0A
+        #%0A        # Create new custom generator object%0A        #%0A
         new_
@@ -599,15 +599,8 @@
 '   
-      -
 - ne
@@ -614,24 +614,112 @@
 new_obj%7D')%0A%0A
+        #%0A        # Create and assign automatically generated reset() method%0A        #%0A%0A
         def 

Tweak debugging messages, add comments