How to Dynamically Add Roles to Agents