I agree with this. Perhaps the way to go about it is to extend StackedObject, ContextObject, and ContextStackManager as was attempted in 

https://github.com/zacharyvoase/logbook-gevent/blob/master/lib/logbook_gevent.py

to support a greenletbound() style.  I can't think of a nice way to do it transparently.