# `Expresso.Presenter.Extension`
[🔗](https://github.com/rellen/expresso/blob/main/lib/expresso/presenter/extension.ex#L1)

The Spark DSL extension of the presenter definition

It gives the options `state`, `sync` and `reset`, the `mode` entity, and the `key` and
`event` entities of a mode. The entities `attribute`, `property` and `mark`
give the projections of `Expresso.Presenter.Projection`. It imports
`Expresso.Presenter.Commands`, so a binding can write `step(1)` in place of
`{:step, 1}`.
`Expresso.Presenter.Verifier` runs when a module that uses the DSL compiles.

Only `Expresso.Presenter.Default` uses the DSL. A deck cannot change the
keys of the presenter.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
