Evaluate button role and sensitivity per-interaction.

This lets us reuse buttons, and still update the role/sensitivity
as the actions dictate.