<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def chain(self, other_task):
 """ Add a chain listener to the execution of this task. Whenever an item has been processed by the task, the registered listener task will be queued to be executed with the output of this task. Can also be written as:: pipeline = task1 > task2 """

        other_task._source = self
        self._listeners.append(ChainListener(other_task))
        return other_task