Extract Authorizer and ProviderRegistrar
Extract Authenticator
Rework some tests, still missing significant coverage
Add property annotations
Type hint correct exception
Extract duplication
Fix formatting
Convert a lot of lingering tabs to spaces