in directive, all the editing/add/remove will only update filteredNotes. then watch(filteredNotes) to pass the result back to notes.

In controller, it will use notes to update highlight.