Keith, you are absolutely right. The SLA plug-in functionality was implemented that way for our own convenience.
But if someone really wants to write their own plug-in we have no problem with that as long as they realize that they are on their own
About the plug-in implementation:
The plug-in is used the following way:
1) Initialization: get/set plug-in parameters
2) Set data: the plug-in is called once for each sample. The data is normalized so the plug-in will be called even for missing data samples and NULL samples (unavailable)
3) The get methods are called to get the result of the calculation.
Retrieving data ...