var Delegate = new function()  {
	
	 this.create = function( target, handler ){
		
		// Create delegate function
		var delegate = function() {
			// Get reference to self
            var self = arguments.callee;
            	
			// Call handler with arguments
			return self.handler.apply(self.target, arguments);
		};
		
		// Pass in local references
		delegate.handler = handler;
		delegate.target = target;
		
		// Return the delegate function.
		return delegate;
	}
}
