Contents of an SVM plugin:
Weight files
A unique name
A list of labels (strings) for the AU’s.
Need some way to access the SVM weights class, so we can tell it which directory to look in for our weights files. If the plugin links with the CERT framework, we can do that.

On init of the plugin:
mp_SVMWeights *svmWeights = mp_SVMWeights::getSVMWeights( uniqueName );
svmWeights->setDirectory( ourResourceDir );

Right before running CERT_Gabor():
loop through all of the SVM plugins and add each unique name to an array.
pass that array to cert: gabor->setWeightCategories( theArray )

In mp_Gabor’s kernelLoop() step:
run the svmWeight method for each uniqueName in the array.
For each set of results, add it to an array stored in a map with the uniqueName as a key.
Add a method: array<double> resultsForCategory( string &cat );

Right after running CERT_Gabor():
Store the results in a dictionary with the label from the plugin as the key and the result from CERT as the value.
Store the result dictionary in another dictionary with the pluginID as the key.

In handleResults():
For each plugin, get the results from MPT_CERT, using the pluginID.
For each individual result, use the label to find the right view to update.

New plugin methods:
internalName
labels
viewForLabel
setViewForLabel

Switch all plugin types to use the labels/viewForLabel/setViewForLabel methods.
Split the plugin protocol with different versions for each type of plugin (SVM vs “After Face”), with a core set of methods in the base protocol. This may not be necessary. Add a method called ‘internalName’ which all plugins can offer.