         right: Style.Size.s16)
     }
 
-    guard let buttonFont = font else { return }
-    titleLabel?.font = buttonFont
-
     // this is to center the title in the actual button
     // descender is the part under the font for lowercase and is a negative number
-    titleEdgeInsets = UIEdgeInsets(top: -buttonFont.descender / 2, left: 0, bottom: 0, right: 0)
+    titleEdgeInsets = UIEdgeInsets(top: -titleLabel!.font.descender / 2, left: 0, bottom: 0, right: 0)
   }
 
   private func updateColors() {

  }

  var style: ButtonStyle = .primary {
    didSet { updateColors() }
  }

  convenience init(style: ButtonStyle) {

    }
  }

  private func updateFont() {
    var font: UIFont?
    switch self.style {
    case .link:
      font = Style.Typography.footnote.font
    case .plain:
      font = Style.Typography.bodyRegular.font
    default:
      font = Style.Typography.bodyBold.font
    }
    titleLabel?.font = font!
  }

  func commonInit() {
    updateColors()

