An implementation collection gathers one or more interface implementations in a DLL. It provides necessary information to the plug-in framework to use them. The collection must export a single function that provides an array. This array maps the UID of each implementation it contains with a pointer to its factory instantiation function (NewL() in our example).