When a plugin is loaded, its initialization function is named after the DSO name. This guarantees that it is called correctly. However, the cleanup function is named from the event name that the plugin fields. This would never be a problem, except, there are folks putting DES IDs in that are words delimited by spaces. Since we do not check for this, our problems compound, and doCleanup ends up failing, which causes plugin unloading to terminate early.