 	@IBOutlet weak var shortDescriptionDealerLabel: UILabel!
 
 	weak private var _dealer: Dealer?
+	
+	private var disposable: Disposable? = nil
 
 	var dealer: Dealer? {
 		get {
 			return _dealer
 		}
 		set(dealer) {
+			if let disposable = disposable, !disposable.isDisposed {
+				disposable.dispose()
+			}
+			
 			_dealer = dealer
 
 			if let displayName = dealer?.DisplayName, !displayName.isEmpty {

//

import UIKit

class DealersTableViewCell: UITableViewCell {
    @IBOutlet weak var subnameDealerLabel: UILabel!

			shortDescriptionDealerLabel.text = dealer?.ShortDescription

			// TODO: Implement image caching
			artistDealerImage.image = UIImage(named: "defaultAvatar")!.af_imageRoundedIntoCircle()
			do {
				let imageService = try ServiceResolver.container.resolve() as ImageServiceProtocol
				if let artistThumbnailImage = dealer?.ArtistThumbnailImage {
					disposable = imageService.retrieve(for: artistThumbnailImage).startWithResult { [weak self] result in
						guard let strongSelf = self else {
							return
						}
						switch result {
						case let .success(value):
							DispatchQueue.main.async {
								strongSelf.artistDealerImage.image = value.af_imageRoundedIntoCircle()
							}
						case .failure:
							break
						}
					}
				}
			} catch {
			}
		}
	}
}
