public async Task HandleUploadCompleted(int fileCount, long totalSize)
        {
            var uploadCompleted = new UploadCompletedEventArgs()
            {
                FilesUploaded = filesUploaded,
                FileCount     = fileCount,
                TotalSize     = totalSize
            };

            filesUploaded = null;
            uploadCompletedTaskCompletionSource?.TrySetResult(uploadCompleted);
            await InvokeOnUploadCompletedAsync(uploadCompleted);
        }
 /// <summary>
 /// Triggers the <see cref="OnUploadCompleted"/> event. Allows interception of the event in derived components.
 /// </summary>
 protected virtual Task InvokeOnUploadCompletedAsync(UploadCompletedEventArgs args) => OnUploadCompleted.InvokeAsync(args);