module Pact::Provider::DSL

def provider_state name, &block

def provider_state name, &block
  ProviderState.provider_state(name, &block).register
end

def provider_states_for name, &block

def provider_states_for name, &block
  ProviderState.current_namespaces << name
  instance_eval(&block)
  ProviderState.current_namespaces.pop
end

def service_provider name, &block

def service_provider name, &block
   service_provider = ServiceProviderDSL.new(name, &block).create_service_provider
   Pact.configuration.provider = service_provider
   service_provider
end