Refactored Auth mess into Singleton class