[Update] Refactor Login for DI