As said above, you should to move this logic out of the `Role`. Then a can be a value-object.