SP slotplate
Pattern

Presenter (MVP)

State → view, nothing more.

Where: src/presenters/.

The rule: observe state, translate into view calls, expose a narrow API for the FSM to drive. Never decide timing. Never mutate state.

MVP vs MVVM: close cousins. slotplate uses presenters because they tend to be thinner than ViewModels — no two-way binding, just observable read and view write.