This allows PermissionReaders to potentially only check the necessary access modes for potential performance optimization.
This way the location of certain classes should make more sense
These readers will determine which permissions are available for the incoming credentials. Their results then get combined in a UnionReader and authorized in a PermissionBasedAuthorizer