1. A method comprising: based upon an initial state of a role-based task, identifying a first role corresponding to the initial state of the role-based task, wherein the method is performed in a computing system configured to guide users through steps in a role-based task; assigning the role-based task to a first user having the identified first role; presenting the first user with user-instructions for completing one or more steps in the role-based task; after a step is completed, updating the state of the role-based task to reflect the completion of the step, wherein the updated state of the role-based task requires associating a new role with the role-based task, and identifying a second role corresponding to the updated state of the role-based task; assigning the role-based task to a second user having the identified second role; and presenting the second user with user-instructions for completing one or more steps in the role-based task.