         addSubviews()
         addTargets()
         moreButton.hidden = true
-        attributedNormalTitle = followNormalAttributedTitle
-        attributedSelectedTitle = followSelectedAttributedTitle
-        mainButtonBackground.layer.borderColor = borderColor.CGColor
+        label.attributedText = styleText(config.name, color: config.normalTextColor)
         mainButtonBackground.layer.borderWidth = 1
+    }
+
+    public override func intrinsicContentSize() -> CGSize {
+        return showMareButton ? sizeWithMore : size
     }
 
     // MARK: IBActions

        relationshipDelegate?.relationshipTapped(userId, relationship: relationship) {
            [unowned self] (status, relationship) in
        }
    }

    public override func intrinsicContentSize() -> CGSize {
        return showMareButton ? sizeWithMore : size
    }

    // MARK: Private

        attributed.addAttributes(attributes, range: range)
        return attributed
    }

    private enum Config {
        case Follow
        case Noise
        case Friend
        case Muted

        var name: String {
            switch self {
            case .Follow: return "+ Follow"
            case .Noise: return "Noise"
            case .Friend: return "Friend"
            case .Muted: return "Muted"
            }
        }

        var normalTextColor: UIColor {
            switch self {
            case .Follow: return .blackColor()
            default: return .whiteColor()
            }
        }

        var selectedTextColor: UIColor {
            return .whiteColor()
        }

        var borderColor: UIColor {
            switch self {
            case .Muted: return .redColor()
            default: return .blackColor()
            }
        }

        var normalBackgroundColor: UIColor {
            switch self {
            case .Muted: return .redColor()
            case .Follow: return .whiteColor()
            default: return .blackColor()
            }
        }

        var selectedBackgroundColor: UIColor {
            switch self {
            case .Muted: return .redColor()
            case .Follow: return .blackColor()
            default: return .grey4D()
            }
        }
    }
}
