function drag(opts) {
    var fns = makeFns(opts);
    var timeDelay = opts.timeDelay || 0;
    return fns.start().then(delay(timeDelay)).then(fns.end);
}
Inside `opts`:

Same as in makeDragFns plus:

@param {number} timeDelay :
 time delay between drag start promise resolve and drag end call