state-based dialog dismissability

and other stories