Yes, you are right, any class or object can be a delegate of any other, even itself. But I would say that this is not a good practice . You can create another class and delegate it to another. This expands the execution of the work, and readability is maintained. And in the future you can update your code with less labor.
source share