public Task<IBlob> UploadAsync(string name, Stream stream)
        {
            _logger?.Verbose("AsynchronousBlockBlobRepository: UploadAsync - attempting to upload blob {0}", name);
            return Task.Run<IBlob>(() =>
            {
                CloudBlockBlob blob = _container.GetBlockBlobReference(name);
                blob.UploadFromStream(stream);
                
                BlockBlob result = new BlockBlob(blob, name, _logger);

                _logger?.Verbose("AsynchronousBlockBlobRepository: UploadAsync - successfull uploaded blob {0}", name);

                return result;
            });
        }