Location search refactor + change from notification to delegate