 ///  ProfileHeaderCellSizeCalculator.swift
 //
 
-import Foundation
+import FutureKit
 
 
 public class ProfileHeaderCellSizeCalculator: NSObject {
     static let ratio: CGFloat = 16 / 9
     let webView: UIWebView
 
-    private let label = ElloLabel()
     private var maxWidth: CGFloat = 0.0
     private typealias CellJob = (cellItems: [StreamCellItem], width: CGFloat, columnCount: Int, completion: ElloEmptyCompletion)
     private var cellJobs: [CellJob] = []

        }
    }

    private func assignCellHeight(webViewHeight: CGFloat) {
        if let cellItem = cellItems.safeValue(0) {
            let leftLabelMargin: CGFloat = 15
            let rightLabelMargin: CGFloat = 82
            let nameSize: CGSize
            if let attributedText = label.attributedText {
                nameSize = attributedText.boundingRectWithSize(CGSize(width: maxWidth - leftLabelMargin - rightLabelMargin, height: CGFloat.max),
                    options: .UsesLineFragmentOrigin, context: nil).size
            }
            else {
                nameSize = .zero
            }

            let height = ProfileHeaderCellSizeCalculator.calculateHeightBasedOn(
                webViewHeight: webViewHeight,
                nameSize: nameSize,
                width: maxWidth
                )
            self.cellItems.removeAtIndex(0)
            cellItem.calculatedWebHeight = webViewHeight
            // VERY TEMPORARY :point_down:
            cellItem.calculatedOneColumnCellHeight = 732
            cellItem.calculatedMultiColumnCellHeight = 732
        }
        loadNext()
    }

    class func calculateHeightBasedOn(webViewHeight webViewHeight: CGFloat, nameSize: CGSize, width: CGFloat) -> CGFloat {
        var height: CGFloat = width / ratio // cover image size

        height += 146 // size without webview and name label
        height += max(webViewHeight, 0)
        height += nameSize.height
        return ceil(height)
    }

}

extension ProfileHeaderCellSizeCalculator: UIWebViewDelegate {

        }
    }

}

private extension ProfileHeaderCellSizeCalculator {

    func processJob(job: CellJob) {

        self.completion = {
            if self.cellJobs.count > 0 {
                self.cellJobs.removeAtIndex(0)
