     
     private func initialize() {
         
+        addSubview(contentView)
+        contentView.translatesAutoresizingMaskIntoConstraints = false
+        NSLayoutConstraint.activate([
+            contentView.leadingAnchor.constraint(equalTo: leadingAnchor),
+            contentView.topAnchor.constraint(equalTo: topAnchor),
+            trailingAnchor.constraint(equalTo: contentView.trailingAnchor),
+            bottomAnchor.constraint(equalTo: contentView.bottomAnchor)
+            ])
+        
         let contentInset = Defaults.contentInset
-        addSubview(label)
+        contentView.addSubview(label)
         label.translatesAutoresizingMaskIntoConstraints = false
         NSLayoutConstraint.activate([
-            label.leadingAnchor.constraint(equalTo: leadingAnchor, constant: contentInset.left),
-            label.topAnchor.constraint(equalTo: topAnchor, constant: contentInset.top),
-            trailingAnchor.constraint(equalTo: label.trailingAnchor, constant: contentInset.right),
-            bottomAnchor.constraint(equalTo: label.bottomAnchor, constant: contentInset.bottom)
+            label.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: contentInset.left),
+            label.topAnchor.constraint(equalTo: contentView.topAnchor, constant: contentInset.top),
+            contentView.trailingAnchor.constraint(equalTo: label.trailingAnchor, constant: contentInset.right),
+            contentView.bottomAnchor.constraint(equalTo: label.bottomAnchor, constant: contentInset.bottom)
             ])
         
         NSLayoutConstraint.activate([

    }
    open override var tintColor: UIColor! {
        didSet {
            backgroundColor = tintColor
        }
    }
    

    
    // MARK: Properties
    
    private let contentView = UIView()
    private let label = UILabel()
    
    internal var value: String? {
