A Person keeps a set of Roles which changes dynamically. When something depending on the roles is asked to a person, the person delegates to all its roles the computation and returns either one of the answers or a combination of all the answers. The details are problem specific.