 private class FewListHeaderFooter: UITableViewHeaderFooterView {
 	private var realizedElement: RealizedElement?
 	
-	func updateWithElement(element: Element) {
+	func updateWithElement(element: Element, parent: RealizedElement) {
 		if let realizedElement = realizedElement {
 			if element.canDiff(realizedElement.element) {
 				element.applyDiff(realizedElement.element, realizedSelf: realizedElement)
 			} else {
 				realizedElement.remove()
 				
-				let parent = RealizedElement(element: Element(), view: contentView, parent: nil)
 				self.realizedElement = element.realize(parent)
 			}
 		} else {
-			let parent = RealizedElement(element: Element(), view: contentView, parent: nil)
 			realizedElement = element.realize(parent)
 		}
 	}

		return result
	}
	
	// MARK: UITableViewDelegate
	
	@objc func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

		if section < headers.count {
			if let header = headers[section] {
				let view = tableView.dequeueReusableHeaderFooterViewWithIdentifier(headerKey) as! FewListHeaderFooter
				view.updateWithElement(header, parent: parentForHeaderFooter(view))
				return view
			}
		}
