A big advantage of running as a plugin is that I can spawn a thread to update the LEDs independently of the event callbacks. This enables me to enhance the display of status and progress by animating the LEDs. I put together a short video demonstrating how this looks:
I am still testing the code and working out if I want to handle additional status changes. However, you can check out the source code on GitHub and install the plugin if you are interested in using a PiGlow with OctoPrint.