Concept Flow - Delegate declaration and instantiation
Declare delegate type
Create method matching delegate signature
Instantiate delegate with method
Call delegate to invoke method
End
First, you declare a delegate type. Then, you create a method that matches its signature. Next, you create an instance of the delegate pointing to that method. Finally, you call the delegate to run the method.