 import UIKit
 
 open class NibTableViewCell: UITableViewCell {
-
+    
     /// Should position to leading edge of the cellView to match the cell's separatorInset.left. Default = true.
-    @IBInspectable open var isInsetAligned: Bool = true { didSet { updateInset() }}
+    @IBInspectable open var isInsetAligned: Bool = true { didSet { setNeedsUpdateInset() }}
     
     // MARK: - Init
     

            : super.detailTextLabel
    }
    
    open override var separatorInset: UIEdgeInsets {
        didSet {
            updateInset()
        }
    }
    
    // MARK: - UIView
    
    private func updateInset() {
        guard let cellView = cellView,
            let constraints = contentView.constraints(with: cellView)
            else { return }
        constraints
            .first( where: { [.leading, .left].contains($0.firstAttribute) })?
            .constant = CGFloat(indentationLevel) * indentationWidth
            + (isInsetAligned ? separatorInset.left : 0.0)
    }
    
    open override func layoutSubviews() {
        updateInset()
        super.layoutSubviews()
    }
    

    open func commonInit(style: UITableViewCellStyle) {
        let nibView = self.nibView(for: style)
        contentView.addSubview(nibView)
        nibView.pinToSuperviewMargins()
    }
    
    open func nibView(for style: UITableViewCellStyle) -> NibView {
