 
 	var elements: [Element] {
 		didSet {
+			updateCachedHeights()
+
 			let selectedRows = tableView.selectedRowIndexes
 			tableView.reloadData()
 			supressChangeNotification = true


	@objc func numberOfRowsInTableView(tableView: NSTableView) -> Int {
		return elements.count
	}
}


		}
	}

	var cachedHeights: [String: CGFloat] = [:]

	var selectionChanged: (Int -> ())?

	init(tableView: NSTableView, elements: [Element]) {
