Moved a virtual function definition; built the CachedDelegate type; Updated the example code to utilize a CachedDelegate