 	
 	
 	func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
-
-		latestCalledDelegateFunction = [#function: (tableView, cell, indexPath)]
+		
+		let selector = #selector(UITableViewDelegate.tableView(_:willDisplayCell:forRowAtIndexPath:))
+
+		latestCalledDelegateFunction = [ selector: (tableView, cell, indexPath) ]
 	}
 	
 	func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {
 		
-		latestCalledDelegateFunction = [#function: (tableView, view, section)]
+		let selector = #selector(UITableViewDelegate.tableView(_:willDisplayHeaderView:forSection:))
+		
+		latestCalledDelegateFunction = [ selector: (tableView, view, section) ]
 	}
 	
 	func tableView(tableView: UITableView, willDisplayFooterView view: UIView, forSection section: Int) {
 		
-		latestCalledDelegateFunction = [#function: (tableView, view, section)]
+		let selector = #selector(UITableViewDelegate.tableView(_:willDisplayFooterView:forSection:))
+		
+		latestCalledDelegateFunction = [ selector: (tableView, view, section) ]
 	}
 	
 	func tableView(tableView: UITableView, didEndDisplayingCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
 		
-		latestCalledDelegateFunction = [#function: (tableView, cell, indexPath)]
+		let selector = #selector(UITableViewDelegate.tableView(_:didEndDisplayingCell:forRowAtIndexPath:))
+		
+		latestCalledDelegateFunction = [ selector: (tableView, cell, indexPath) ]
 	}
 	
 	func tableView(tableView: UITableView, didEndDisplayingHeaderView view: UIView, forSection section: Int) {
 		
-		latestCalledDelegateFunction = [#function: (tableView, view, section)]
+		let selector = #selector(UITableViewDelegate.tableView(_:didEndDisplayingHeaderView:forSection:))
+		
+		latestCalledDelegateFunction = [ selector: (tableView, view, section) ]
 	}
 	
 	func tableView(tableView: UITableView, didEndDisplayingFooterView view: UIView, forSection section: Int) {
 		
-		latestCalledDelegateFunction = [#function: (tableView, view, section)]
+		let selector = #selector(UITableViewDelegate.tableView(_:didEndDisplayingFooterView:forSection:))
+		
+		latestCalledDelegateFunction = [ selector: (tableView, view, section) ]
 	}
 	
 	func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
 		
-		latestCalledDelegateFunction = [#function: (tableView, indexPath)]
+		let selector = #selector(UITableViewDelegate.tableView(_:heightForRowAtIndexPath:))
+		
+		latestCalledDelegateFunction = [ selector: (tableView, indexPath) ]
+		
 		return CGFloat.min
 	}
 	
 	func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
 		
-		latestCalledDelegateFunction = [#function: (tableView, section)]
+		let selector = #selector(UITableViewDelegate.tableView(_:heightForHeaderInSection:))
+		
+		latestCalledDelegateFunction = [ selector: (tableView, section) ]
+		
 		return CGFloat.min
 	}
 	
 	func tableView(tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
 		
-		latestCalledDelegateFunction = [#function: (tableView, section)]
+		let selector = #selector(UITableViewDelegate.tableView(_:heightForFooterInSection:))
+		
+		latestCalledDelegateFunction = [ selector: (tableView, section) ]
+		
 		return CGFloat.min
 	}
 	
 	func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
 		
-		latestCalledDelegateFunction = [#function: (tableView, indexPath)]
+		let selector = #selector(UITableViewDelegate.tableView(_:estimatedHeightForRowAtIndexPath:))
+		
+		latestCalledDelegateFunction = [ selector: (tableView, indexPath) ]
+		
 		return CGFloat.min
 	}
 	
 	
 	func tableView(tableView: UITableView, estimatedHeightForHeaderInSection section: Int) -> CGFloat {
 		
-		latestCalledDelegateFunction = [#function: (tableView, section)]
+		let selector = #selector(UITableViewDelegate.tableView(_:estimatedHeightForHeaderInSection:))
+		
+		latestCalledDelegateFunction = [ selector: (tableView, section) ]
 		
 		return CGFloat.min
 	}
 	
 	func tableView(tableView: UITableView, estimatedHeightForFooterInSection section: Int) -> CGFloat {
 		
-		latestCalledDelegateFunction = [#function: (tableView, section)]
+		let selector = #selector(UITableViewDelegate.tableView(_:estimatedHeightForFooterInSection:))
+		
+		latestCalledDelegateFunction = [ selector: (tableView, section) ]
 		
 		return CGFloat.min
 	}

	
	- note: Since this only store the latest call, it will only have one key and value.
	*/
	var latestCalledDelegateFunction = [String: Any]()
	
	required init(index: Int, childDelegates: [CascadingTableDelegate]) {
		self.index = index

	// TODO: Update these implementations to facilitate tests later.
	func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
		
		let selector = #selector(UITableViewDataSource.tableView(_:numberOfRowsInSection:))
		
		latestCalledDelegateFunction = [ selector: (tableView, section) ]
		
		return 0
	}
	
	func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
		
		let selector = #selector(UITableViewDataSource.tableView(_:cellForRowAtIndexPath:))
		
		latestCalledDelegateFunction = [ selector: (tableView, indexPath) ]
		
		return UITableViewCell()
	}
	
	func numberOfSectionsInTableView(tableView: UITableView) -> Int {
		
		let selector = #selector(UITableViewDataSource.numberOfSectionsInTableView(_:))
		
		latestCalledDelegateFunction = [ selector: tableView ]
		
		return 0
	}
	
	func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
		
		let selector = #selector(UITableViewDataSource.tableView(_:titleForHeaderInSection:))
		
		latestCalledDelegateFunction = [ selector: (tableView, section) ]
		
		return nil
	}
	
	func tableView(tableView: UITableView, canMoveRowAtIndexPath indexPath: NSIndexPath) -> Bool {
		
		let selector = #selector(UITableViewDataSource.tableView(_:canMoveRowAtIndexPath:))
		
		latestCalledDelegateFunction = [ selector: (tableView, indexPath) ]
		
		return false
	}
	
	func sectionIndexTitlesForTableView(tableView: UITableView) -> [String]? {
		
		let selector = #selector(UITableViewDataSource.sectionIndexTitlesForTableView(_:))
		
		latestCalledDelegateFunction = [ selector: tableView ]
		
		return nil
	}
	
	func tableView(tableView: UITableView, sectionForSectionIndexTitle title: String, atIndex index: Int) -> Int {
		
		let selector = #selector(UITableViewDataSource.tableView(_:sectionForSectionIndexTitle:atIndex:))
		
		latestCalledDelegateFunction = [ selector: (tableView, title, index) ]
		
		return 0
	}
	
	func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
		
		let selector = #selector(UITableViewDataSource.tableView(_:commitEditingStyle:forRowAtIndexPath:))
		
		latestCalledDelegateFunction = [ selector: (tableView, editingStyle, indexPath) ]
	}
	
	
	func tableView(tableView: UITableView, moveRowAtIndexPath sourceIndexPath: NSIndexPath, toIndexPath destinationIndexPath: NSIndexPath) {
		
		let selector = #selector(UITableViewDataSource.tableView(_:moveRowAtIndexPath:toIndexPath:))
		
		latestCalledDelegateFunction = [ selector: (tableView, sourceIndexPath, destinationIndexPath) ]
	}
	
}
