 
     /// The distance that the view is inset from the enclosing  content view.
     /// The default value is `UIEdgeInsets(top: 14, left: 15, bottom: 15, right: 15)`.
-    public var contentInset = UIEdgeInsets(top: 14, left: 15, bottom: 15, right: 15) {
+    public dynamic var contentInset = UIEdgeInsets(top: 14, left: 15, bottom: 15, right: 15) {
         didSet {
             contentConstraints.top?.constant    = contentInset.top
             contentConstraints.left?.constant   = contentInset.left

    }

    /// The default size is `55,55`.
    public var imageSize = CGSize(width: 55, height: 55) {
        didSet {
            setDefaultImageSize(imageSize)
        }
    }

    /// The space between image and text. The default value is `8`.
    public var textImageSpacing: CGFloat = 8 {
        didSet {
            setDefaultTextImageSpacing(textImageSpacing)
        }
    }

    /// The default value is `false`.
    public var isImageViewHidden: Bool = false {
        didSet {
            guard oldValue != isImageViewHidden else { return }
            if isImageViewHidden {
                setDefaultImageSize(.zero)
                setDefaultTextImageSpacing(0)
            } else {
                setDefaultImageSize(imageSize)
                setDefaultTextImageSpacing(textImageSpacing)
            }
        }
    }

    /// The default value is `true`.
    public var isRoundImageView = true {
        didSet {
            avatarView.layer.cornerRadius = isRoundImageView ? imageSize.height / 2 : 0
        }
    }

    /// The background color of the cell when it is highlighted.
    public var highlightedBackgroundColor: UIColor?
    private var regularBackgroundColor: UIColor?
    private var observeBackgroundColorSetter = true
    public override var backgroundColor: UIColor? {

        contentView.addSubview(v)
        return v
    }

    // MARK: Helpers

    private func updateImageSizeIfNeeded() {
        let size = isImageViewHidden ? .zero : imageSize
        imageSizeConstraints.width?.constant  = size.width
        imageSizeConstraints.height?.constant = size.height
    }

    private func updateTextImageSpacingIfNeeded() {
        let spacing = isImageViewHidden ? 0 : textImageSpacing
        imageAndTitleSpacingConstraint?.constant = spacing
    }
}

// MARK: UIAppearance Properties

public extension DynamicTableViewCell {
    public dynamic var titleColor: UIColor? {
        get { return titleLabel.textColor }
        set { titleLabel.textColor = newValue }
