'Set up object pool
:param name: class name
:param parents: class parents
:param dct: dict: includes class attributes, class methods,
static methods, etc
:return: new class'

def __new__(mcs, name, parents, dct):

    dct['pool'] = weakref.WeakValueDictionary()
    return super(FlyweightMeta, mcs).__new__(mcs, name, parents, dct)
