function Delegate()
{
}

Delegate.create = function(target, handler)
{
    arguments.slice = Array.prototype.slice;

    // Get any extra arguments for handler
    var extraArgs = arguments.slice(2);

    // Create delegate function
    var delegate = function() {
        // Augment arguments passed from broadcaster with additional args
        var fullArgs = extraArgs.concat(delegate);
		loaded = true;
        // Call handler with arguments
        return handler.apply(target, fullArgs);
    };

    // Return the delegate function.
    return delegate;
}
