There are multiple hierarchically dependent libraries in Hue working together, so Hue can be used in multiple ways. Not all of them need every libraray to be included. Hue does not own the main function and does not require you to implement an interface to call its methods in an unknown way. You decide when to start up the event handler part, when to build up the widget hierarchy and which delegates to assign to which events.
Every function or delegate with any number of arguments can be added to the template based event system, so every set of types can act as an event. No additional code has to be written and no base class has to be extended. You can simply add your listeners and call invoke anywhere. There is also a GLFW based user input handling extension, with a main loop that either polls with a framerate or waits for system events.
For example to simply visualize a data set in a command line program, one can simply import the OpenGL connector and the simple drawing library, call the initializer and the drawing functions anywhere in the code to show something in a window. You can also use it along an existing main loop for the convinient drawing functions.
With the internal main loop, input handling, simple shapes drawing and the convinience of the D language, it is an ideal creative coding and learning freamwork. Simply add the frame end listener and call the screen initializing and main loop starting functions.