 	}
 	
 	func updateSubviews() {
+		layout = nil
 		updateTitleView()
 		updateSummaryView()
 		updateDateView()

	}
	
	override func sizeThatFits(_ size: CGSize) -> CGSize {
		let layout = updatedLayout()
		return CGSize(width: bounds.width, height: layout.height)
	}

	override func layoutSubviews() {
		
		super.layoutSubviews()
		
		let layout = updatedLayout()
		
		unreadIndicatorView.setFrameIfNotEqual(layout.unreadIndicatorRect)
		starView.setFrameIfNotEqual(layout.starRect)
		avatarImageView.setFrameIfNotEqual(layout.avatarImageRect)
		setFrame(for: titleView, rect: layout.titleRect)
		setFrame(for: summaryView, rect: layout.summaryRect)
		feedNameView.setFrameIfNotEqual(layout.feedNameRect)
		dateView.setFrameIfNotEqual(layout.dateRect)

		separatorInset = layout.separatorInsets
		
	}
	

	private let dateView = MasterTimelineTableViewCell.singleLineUILabel()
	private let feedNameView = MasterTimelineTableViewCell.singleLineUILabel()
	
	private var layout: MasterTimelineCellLayout?
	
	private lazy var avatarImageView: UIImageView = {
		let imageView = NonIntrinsicImageView(image: AppAssets.feedImage)
		imageView.contentMode = .scaleAspectFit
