Actually, at least in the case of apcupsd, the added support is not hard to setup -- copy 2 files to /usr/local/bin
The user must also modify the individual event handlers in /etc/apcupsd. However, there is a simple shortcut here -- create one handler, say commok then just ln (link) it to the other various names. I can put that into a short shell script if there is a need. SInce the name of the handler (must) correspond to the apcupsd event, and I used the same names in the plugin, the command uses `basename$0` and all the handlers can, therefore, be the same (in this case, literally the same inode).
While this approach is actually pretty elegant for one or more instances of apcupsd running on the same server, it does not support events from an apcupsd running on a remote server, though it is possible to run apcupsd locally as a slave for a remote daemon, and that will probably work. OTOH, syslog, while a pain to setup and configure for network logging on MacOS, could get around that issue by forwarding all events to syslogd on the Indigo server.
I think, in the end, the best approach, and one I may implement if there is sufficient use of this plugin, is to maintain a TCP listener thread in the plugin, and then use something like curl to send the events from the handler scripts, simple, straight forward and no need for "glue" files.