Completion: context_at decides where the cursor is, then Completer what to offer there.
context_at
Completer
typed