function _delegate(element, selector, type, callback, useCapture) {
    var listenerFn = listener.apply(this, arguments);

    element.addEventListener(type, listenerFn, useCapture);

    return {
        destroy: function() {
            element.removeEventListener(type, listenerFn, useCapture);
        }
    }
}
Delegates event to a selector.

@param {Element} element
@param {String} selector
@param {String} type
@param {Function} callback
@param {Boolean} useCapture
@return {Object}