A client is calling a delegate class of an object. Create methods on the server to hide the delegate.
One of the keys, if not the key, to objects is encapsulation. Encapsulation means that objects need to know less about other parts of the system. Then when things change, fewer objects need to be told about the change—which makes the change easier to make. Essentially, we have decoupled the Client Class from the Department class so that it will not be affected by changes to the department.