     }
   }
 
+  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()
 

    layer.masksToBounds = true

    setTitle(currentTitle, for: .normal)

    var font: UIFont?
    switch self.style {
    case .link:
      font = Style.Typography.footnote.font

    case .secondary:
      layer.borderWidth = 2
      layer.borderColor = style.titleColor.cgColor
      fallthrough
    default:
      font = Style.Typography.bodyBold.font

      snp.makeConstraints { $0.height.equalTo(Style.Size.s48) }

      contentEdgeInsets = UIEdgeInsets(

        right: Style.Size.s16)
    }

    // 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: -titleLabel!.font.descender / 2, left: 0, bottom: 0, right: 0)
  }

  private func updateColors() {
