When would you choose to use a delegate rather than calling a function directly? What's the advantages? Thanks...