Why are we passing around an `int` rather than the `Permission` value?