if we get an exception can't we ```fireListeners``` immediately without wait for other futures?