GEVENT - for passing event structures from Sources to Listeners
GTIMER - thread context based once-off and periodic timers.
GINPUT - extensible, multiple device-type, input sub-system.
gevent & gtimer are code complete, ginput is definition complete but not
code complete.