1. Program initialized.
2. On_Init looks for plug-ins and so forth.
3. Program calls a method named "load" on each plugin found.
4. After load is called, program caches the name of each module and creates a reference so that the functions in this plug-in can be called later.
5. During the course of running the program, the user selects one of the menu items, and one of a set of clearly defined standard methods are invoked.
6. Upon shutdown of program, a method called "unload" will be called to free the resources, which were allocated in the "load" method.