Return instance of itself where all used properties are set to
        :class:`FuncInfo`.

        This method is used by the database, which map all the properties
        defined here to itself, runs the functions as new processes and stores
        the result in itself. Because it knows how many properties are there,
        it may also track the progress, which is then transported to the
        frontend and displayed in form of progress bar.

        Returns:
            obj: :class:`Model` instance.

def analyzers_mapping(cls):
        """
        Return instance of itself where all used properties are set to
        :class:`FuncInfo`.

        This method is used by the database, which map all the properties
        defined here to itself, runs the functions as new processes and stores
        the result in itself. Because it knows how many properties are there,
        it may also track the progress, which is then transported to the
        frontend and displayed in form of progress bar.

        Returns:
            obj: :class:`Model` instance.
        """
        import analyzers
        return cls(
            title_tags=_compose_func(analyzers.get_title_tags),
            place_tags=_compose_func(
                analyzers.get_place_tags,
                lambda req_info: (req_info.index, req_info.domain)
            ),
            lang_tags=_compose_func(analyzers.get_lang_tags),
            keyword_tags=_compose_func(analyzers.get_keyword_tags),
            # yep, authors of webpage are actually publishers
            publisher_tags=_compose_func(analyzers.get_author_tags),
            annotation_tags=_compose_func(analyzers.get_annotation_tags),
            creation_dates=_compose_func(
                analyzers.get_creation_date_tags,
                lambda req_info: (req_info.url, req_info.domain)
            ),
        )