Fleshed out AuthFactory, removed responsibilities from Hooks