We should probably create a parent class `LoginService` and create a derived service for each of the posibilities.