async def METHOD_NAME(key: str, feature: Feature) -> Report:
    """Create a Report.
    Aggregates all indicator results and calculates an overall quality score.
    Indicators for a Report are created asynchronously utilizing semaphores.
    """
    logging.info("Creating Report...")
    logging.info("Report key:  {0:4}".format(key))
    logging.info("Feature id:  {0:4}".format(feature.get("id", "None")))
    report_class = get_class_from_key(class_type="report", key=key)
    report = report_class(feature=feature)
    tasks: list[Coroutine] = []
    for indicator_key, topic_key in report.indicator_topic:
        topic = get_topic_preset(topic_key)
        tasks.append(_create_indicator(indicator_key, feature, topic))
    report.indicators = await gather_with_semaphore(tasks)
    report.combine_indicators()
    return report