reduce Dagger complexity by flattening credential providers and decoupling DNS Provider classes from their Modules