**Description**

Currently `BaseOperator` and `XComArgs` implements the same logic of `__lshift__`, `__rshift__` and others "chain" operations (`>>`, `<<`). It seems resonable to abstract this logic into `TaskMixin` to introduce some DRYness especially because the new concept of `TaskGroup` will also implement the same methods.

**Use case / motivation**

Limit duplication of logic.

**Related Issues**

https://github.com/apache/airflow/pull/10827#issuecomment-691927501
#10153 

airflow/models/xcom_arg.py
#
#
from typing import Any, Dict, List, Union
from airflow.exceptions import AirflowException
from airflow.models.baseoperator import BaseOperator  
from airflow.models.xcom import XCOM_RETURN_KEY
class XComArg: