Fix Role edit widget

* selection chaining is now handled by events, rather than logic
* add missing mapping types for Program