Try greenlet?