Changed roles to a list of roles, added event uniqueness