def register_lists(self, category_lists, lists_init_kwargs=None, editor_init_kwargs=None):
        lists_init_kwargs = lists_init_kwargs or {}
        editor_init_kwargs = editor_init_kwargs or {}

        for lst in category_lists:
            if isinstance(lst, string_types):  # Spawn CategoryList object from base category alias.
                lst = self.list_cls(lst, **lists_init_kwargs)
            elif not isinstance(lst, CategoryList):
                raise SitecatsConfigurationError(
                    '`CategoryRequestHandler.register_lists()` accepts only '
                    '`CategoryList` objects or category aliases.'
                )

            if self._obj:
                lst.set_obj(self._obj)

            for name, val in lists_init_kwargs.items():  # Setting CategoryList attributes from kwargs.
                setattr(lst, name, val)

            lst.enable_editor(**editor_init_kwargs)

            self._lists[lst.get_id()] = lst
Implements the directive
dataset/ETHPy150Open idlesign/django-sitecats/sitecats/toolbox.py/CategoryRequestHandler.register_lists--crossover with--dataset/ETHPy150Open quantmind/lux/docs/_ext/luxext.py/LuxExtensionDirective.run