> I think it would be a good idea to collect these as constants, similar to how the signals operate. E.g., a global Permissions object.

Potential external controllers could come with their own permissions. If we already defined constraints as constants, what would registering mean?