This is code that I wrote for another project and is working great in production. I have removed some proprietary naming and haven't fully retested yet. Otherwise I would have marked this as a stable release. Detailed documentation to follow, but here is a quick start guide.

Configuration Information:

Plugin requires a custom entity to hold configuration information.

Registration Information: