 	public func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
 		let node = flattened[indexPath.row]
 		node.estimatedHeight = cell.bounds.size.height
+		node.willDisplay(cell: cell)
+		cell.willDisplay()
+	}
+	
+	public func tableView(_ tableView: UITableView, didEndDisplaying cell: UITableViewCell, forRowAt indexPath: IndexPath) {
+		let node = flattened[indexPath.row]
+		node.didEndDisplaying(cell: cell)
+		cell.didEndDisplaying()
 	}
 	
 	//MARK: - UIScrollViewDelegate

	}
	
}

			batchUpdatesCounter -= 1
		}
	}
	
	func willDisplay(cell: UITableViewCell) {
	}
	
	func didEndDisplaying(cell: UITableViewCell) {
	}
}

@objc public protocol TreeControllerDelegate: UIScrollViewDelegate {
