 				_debouncedArtistFilterApplicator = debounce(0.1) {
 					[weak self] () -> () in
 					if let sself = self {
-						sself._dataSource.artistNameFilter = sself.artistFilter
+						sself.dataSource.artistNameFilter = sself.artistFilter
 							.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
 							.capitalizedStringWithLocale(NSLocale.currentLocale())
 					}

	}

	dynamic func onDoneEditing( sender:AnyObject ) {
		_dataSource.editMode = false
	}

	// MARK: UITextFieldDelegate

	dynamic func searchTextChanged( sender:UITextField ) {
		if sender === _searchField {
			artistFilter = _searchField.text
		}
	}

	func textFieldShouldEndEditing(textField: UITextField) -> Bool {
		if textField === _searchField {}
		return true
	}

	func textFieldShouldReturn(textField: UITextField) -> Bool {
		if textField === _searchField {
			textField.resignFirstResponder()
		}
		return true
	}

	func textFieldDidEndEditing(textField: UITextField) {
		if textField === _searchField {
			textField.resignFirstResponder()
		}
	}

	func textFieldShouldClear(textField: UITextField) -> Bool {
		if textField === _searchField {
			textField.resignFirstResponder()
		}
		return true

		//	Create the fixed header view
		//

		searchField.delegate = self
		searchField.placeholder = "Who drew..."
		searchField.returnKeyType = UIReturnKeyType.Search
		searchField.addTarget(self, action: "searchTextChanged:", forControlEvents: UIControlEvents.EditingChanged)

		fixedHeaderView.addSubview(searchField)
		view.addSubview(fixedHeaderView)


		//
		//	Make room for fixed header
		//

		collectionView.contentInset = UIEdgeInsets(top: fixedHeaderHeight + 20, left: 0, bottom: 0, right: 0)


		//
