         set { subtitleLabel.font = newValue }
     }
 }
-
-// MARK: - Helpers
-
-extension DynamicTableViewCell {
-    private func updateImageSizeIfNeeded() {
-        let size = isImageViewHidden ? .zero : imageSize
-        imageSizeConstraints.update(from: size)
-        roundAvatarViewCornersIfNeeded()
-    }
-
-    private func updateTextImageSpacingIfNeeded() {
-        let spacing = isImageViewHidden ? 0 : textImageSpacing
-        imageAndTitleSpacingConstraint?.constant = spacing
-    }
-
-    private func roundAvatarViewCornersIfNeeded() {
-        avatarView.layer.cornerRadius = isImageViewRounded ? imageSize.height / 2 : 0
-    }
-}

            $0.centerY.equalToSuperview()
        }

        imageAndTitleSpacingConstraint = NSLayoutConstraint(item: labelsStackView, attribute: .leading, toItem: avatarView, attribute: .trailing, constant: textImageSpacing).activate()

        // Content Constraints
        contentConstraints = NSLayoutConstraint.Edges(
            top: NSLayoutConstraint(item: avatarView, attribute: .top, relatedBy: .greaterThanOrEqual, toItem: contentView, constant: contentInset.top, priority: .defaultHigh).activate(),
            bottom: NSLayoutConstraint(item: contentView, attribute: .bottom, relatedBy: .greaterThanOrEqual, toItem: avatarView, constant: contentInset.bottom, priority: .defaultHigh).activate(),
            leading: NSLayoutConstraint(item: avatarView, attribute: .leading, toItem: contentView, constant: contentInset.left).activate(),
            trailing: NSLayoutConstraint(item: contentView, attribute: .trailing, toItem: labelsStackView, constant: contentInset.right).activate()
        )

        minimumContentHeightConstraint = NSLayoutConstraint(item: contentView, height: minimumContentHeight, priority: .defaultLow).activate()
    }

    // MARK: - Setters

    open func configure(_ data: DynamicTableModel) {
        self.data = data
        isImageViewHidden = data.image == nil


        // Constraints for Labels Stack View
        labelsStackView.anchor.make {
            $0.vertically.greaterThanOrEqualToSuperview().inset(contentInset).priority(.stackViewSubview)
            $0.centerY.equalToSuperview()
        }

