Huge auth refactor, making the authentication cascade a saner process.