def DbndFunctionalOperator_1_10_0(task_id, dbnd_task_type,
    dbnd_task_params_fields, **ctor_kwargs):
    """
    Workaround for backwards compatibility with Airflow 1.10.0,
    dynamically creating new operator class (that inherits AirflowDagDbndOperator).
    This is used because XCom templates for each operator are found in a class attribute
    and we have different XCom templates for each INSTANCE of the operator.
    Also, the template_fields attribute has a different value for each task, so we must ensure that they
    don't get mixed up.
    """
    template_fields = dbnd_task_params_fields
    from dbnd_airflow_operator.dbnd_functional_operator import DbndFunctionalOperator
    new_op = type(dbnd_task_type, (DbndFunctionalOperator,), {
        'template_fields': template_fields})
    op = new_op(task_id=task_id, dbnd_task_type=dbnd_task_type,
        dbnd_task_params_fields=dbnd_task_params_fields, **ctor_kwargs)
    return op
