At the interface level notifiers and projectors may seem identical: they both accept events and emit nothing else in response. However, notifiers and projectors have two very different purposes and so Concordance tries to make this clear by having a separate primitive type for notifiers.
A notifier is responsible for handling incoming events from the event stream and using that
information to communicate with the outside world. Think of notifiers as the
output half of I/O
input half being making requests on the commands stream)
Until the developer experience is improved with additional tooling and code generation, for an example of a notifier you can simply adapt the bank account sample's projector as it supports the same operations.