Sometimes it is necessary to issue requests to objects without knowing anything about the operation being requested or the receiver of the request.