TrackedAssetUploadImpl
constructor(messageId: String, scope: CoroutineScope, retryOperation: suspend () -> TrackedAssetUpload, monitor: suspend () -> Unit, upload: suspend () -> Either<CoreFailure, Unit>, onCancelled: suspend () -> Unit, onFailed: suspend (CoreFailure) -> Unit = {})