Add +providerWithSignal: and +returnProvider