I Am looking for a way to proper call this inside function now i have quick hack var that = $(this); but i am sure that there is propper way of doing it. How i can avoid this hack? 
This is input field which i use to get var and inspect Typing Interval
<input type="text" data-package="pink" class="js-p-input">
this i my code:
var cCalc = (function ($) {
    var s;
    return {
        settings: {
            typingTimer: "",
            doneTypingInterval: 300,
            $inputs: $(".js-p-input"),
        },
        init: function () {
            s = this.settings;
            this.bindUIActions();
        },
        bindUIActions: function () {
            //on keyup, start the countdown
            s.$inputs.on('keyup', function () {
                var that = $(this);                
                clearTimeout(s.typingTimer);               
                s.typingTimer = setTimeout(function() {
                    cCalc.doneTyping(that, that.data("package"));
                }, s.doneTypingInterval);
            });
            s.$inputs.on('keydown', function () {
                clearTimeout(s.typingTimer);
            });
        },
        doneTyping: function ($input, packageName) {
            console.log('done!');
            cCalc.getValues($input.val(), packageName);
        },
    };
})(jQuery);
cCalc.init();
 
     
     
    