 import UIKit
 import RxColor
 import RxSwift
+import TextStyle
 import TTTAttributedLabel
 
 @IBDesignable
 class LinkCardView: UIView {
 
   // MARK: - Constants
-  private static let titleFontSize = UIFont.systemFontSize()
-  private static let fontSize = UIFont.smallSystemFontSize()
   private static let spacing: CGFloat = 10
 
   // MARK: - ViewModel

    let label = UILabel()
    label.numberOfLines = 0
    label.setContentCompressionResistancePriority(UILayoutPriorityRequired, forAxis: .Vertical)
    label.font = UIFont.boldSystemFontOfSize(LinkCardView.titleFontSize)
    Theming.sharedInstance.textColor
      .bindTo(label.rx_textColor)
      .addDisposableTo(self.rx_disposeBag)

  private static func statsAttributedString(scoreIcon: Observable<UIImage>,
                                            score: Observable<NSAttributedString>,
                                            commentsIcon: Observable<UIImage>,
                                            comments: Observable<NSAttributedString>,
                                            font: Observable<UIFont>)
    -> Observable<NSAttributedString?> {
      let commentsIcon = Observable.combineLatest(commentsIcon, font) { ($0, $1) }
        .map { (commentsIcon, font) -> NSAttributedString  in
          let attachment = ImageAttachment(commentsIcon, verticalOffset: font.descender)
          return NSAttributedString(attachment: attachment)
      }
      let scoreIcon = Observable.combineLatest(scoreIcon, font) { ($0, $1) }
        .map { (scoreIcon, font) -> NSAttributedString in
          let attachment = ImageAttachment(scoreIcon, verticalOffset: font.descender)
          return NSAttributedString(attachment: attachment)
      }
      return Observable
