Delegation

Delegation occurs when an object receives a message and passes it on to another object. Delegation is useful when responsibilities of objects are passed on to other objects. Non-OOP languages can also support delegation simply by defining a UDF to simply pass any parameter(s) on to another UDF. The interface to the developer sending the message does not have to know about the internal details.