 		}
 	}
 
-	var selectionChanged: (Int -> ())?
+	var selectionChanged: (Int? -> ())?
 
 	init(tableView: NSTableView, items: [Element]) {
 		self.tableView = tableView


public class List: Element {
	private let items: [Element]
	private let selectionChanged: (Int -> ())?

	public init(_ items: [Element], selectionChanged: (Int -> ())?) {
		self.items = items
		self.selectionChanged = selectionChanged
	}

	}

	func tableViewSelectionDidChange(notification: NSNotification) {
		let row = tableView.selectedRow
		selectionChanged?(row > -1 ? row : nil)
	}

	// MARK: NSTableViewDataSource
