I try to call another method inside a setTimeout function, but it do not find the method if I use this.install() inside setTimeout. 
I have tried some solutions but seems not to solve it, so therefor I ask here. 
The code I have, remember to look at the comments what I try to do:
jQuery(window).load(function () {
$.widget( "testing.updater", {
        options: {
        },
        _create: function() {
            //
            this.element.addClass('text');
            //
            this.downloadFiles('bootstrap');
        },
        downloadFiles: function(packagen) {
            var ajax = $.ajax({
                type: "POST",
                url: "responses/test.php",
                data: "download=" + packagen,
                success: function(data) {
                    var obj = jQuery.parseJSON( data);
                    $('.text').append('Downloading files...<br>');
                    $('#updateBtn').attr("disabled", true);
                    if (obj.downloaded) {
                        setTimeout(function(message){
                            $('.text').append(obj.message+'<p><p>');
                            // Down here I want to call another method
                            // like this.install(); <.. but ain't working..
                        }, 5000);
                    } else {
                        return $('.text').append('<p><p> <font color="red">'+obj.message+'</font>');
                    }
                }
            });
        },
        install: function() {
            // I want to run this method inside
            // prev method, look above comment
        },
    });
    $('#updateBtn').on('click',function(){
        var test = $('.updater').updater();
        test.updater();
    });
});
 
    