if it fails, for whatever reason, does it still emit finished()?