Cita: Lo que no se es como recuperar el return de eso, luego de X time; y como hago para "no bloquear" la pc del usuario esperando ese return
Exacto.
Si no tienes un mecanismo basado en eventos implementado jamás podrás pasar de ese punto.
Lo más fácil sería una base de datos para registros dichos eventos, entonces con Ajax haces
polling cada cierto tiempo en busca de nuevos eventos.
Al crear un evento lo registras en la base de datos, en cuanto acabe deberá actualizar una columna de estado.
Dicho estado es el que debes buscar en tu base de datos, por ejemplo, que traiga todos los eventos completados en relación al usuario actual, etc.