This is a WIP
The suggested Abstraction Layer requires an extension to the collectd internal protocol to allow for plugins to be dynamically added/removed.
Enable Plugin
Disable Plugin
Restart/Reload Plugin
Reconfigure Plugin
Get Values
See Cache contents
Get the list of metrics being collected
Flush Cache
Get Notifications
Heartbeat
Get Capabilities
Blacklist resources/meters
Buffer
Time Sync
get the timing information for the agent and do aTiming sync if required.
Authentication