Execute a callback function in a particular scope. If no function is passed the call is ignored.

For example, these lines are equivalent:

Ext.callback(myFunc, this, [arg1, arg2]);
Ext.isFunction(myFunc) && myFunc.apply(this, [arg1, arg2]);

@param {Function} callback The callback to execute
@param {Object} [scope] The scope to execute in
@param {Array} [args] The arguments to pass to the function
@param {Number} [delay] Pass a number to delay the call by a number of milliseconds.
function(callback, scope, args, delay){
        if(Ext.isFunction(callback)){
            args = args || [];
            scope = scope || window;
            if (delay) {
                Ext.defer(callback, delay, scope, args);
            } else {
                callback.apply(scope, args);
            }
        }
    }