module Traces

def self.Provider(klass, &block)

Extend the specified class in order to emit traces.
def self.Provider(klass, &block)
	klass.extend(Singleton)
	provider = klass.traces_provider
	klass.prepend(provider)
	
	provider.module_exec(&block) if block_given?
	
	return provider
end