 	
 	private var _averageRating = 0
 	private var _rowViewModels = [DestinationReviewUserRowViewModel]()
+	private var _remainingRowViewModels = 0
 	
 	// MARK: - Public methods
 	

		
		let userReview = DestinationReviewUserRowViewModel(
			userName: "Alice",
			userReview: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed placerat tincidunt aliquet. Quisque dictum nisi felis, vel aliquet metus congue ac",
			rating: 4
		)
		
		_rowViewModels = [DestinationReviewUserRowViewModel](count: 5, repeatedValue: userReview)
	}
	
	private func executeUpdateClosures() {


		return _rowViewModels
	}
	
	var remainingRowViewModels: Int {
		return _remainingRowViewModels
	}
	
	func retrieveMoreRowViewModels(onCompleted: (Void -> Void)?) {
		
		let delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(2 * Double(NSEC_PER_SEC)))
		let queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
		
		
		dispatch_after(delayTime, queue) {
			
			self.generateMoreRowViewModels()
			
			dispatch_async(dispatch_get_main_queue(), {
				self.reviewUserDataChanged?()
				onCompleted?()
			})
		}
		
	}
	
	private func generateMoreRowViewModels() {
		
		let userReview = DestinationReviewUserRowViewModel(
			userName: "Bob",
			userReview: "Quisque dictum nisi felis, vel aliquet metus congue ac. Curabitur dui arcu, sagittis vel urna non, faucibus pellentesque sem.",
			rating: 4
		)
		
		let newReviews = [DestinationReviewUserRowViewModel](count: 2, repeatedValue: userReview)
		
		_rowViewModels.appendContentsOf(newReviews)
		_remainingRowViewModels = 0
	}
}