index.js
function _animateFunc(func, element, duration, opts) {
  opts = Object.assign({}, opts);
  var tween;
  return new Promise(function(resolve, reject, onCancel) {
    opts.onComplete = resolve;
    tween = func(element, duration, opts);
    onCancel &&
      onCancel(function() {
        tween.kill();
      });
  });
}
function _animateFunc(func, element, duration, opts) {
  opts = Object.assign({}, opts);
  var tween;
  return new Promise(function(resolve, reject, onCancel) {
    opts.onComplete = resolve;
    tween = func(element, duration, opts);
    onCancel &&
      onCancel(function() {
        tween.kill();
      });
  });
}
function _animateFunc ( func , element , duration , opts ) { opts = Object . assign ( { } , opts ) ; var tween ; return new Promise ( function ( resolve , reject , onCancel ) { opts . onComplete = resolve ; tween = func ( element , duration , opts ) ; onCancel && onCancel ( function ( ) { tween . kill ( ) ; } ) ; } ) ; }
Animate specific functions inside the TweenModules, like TweenLite.to

@param {Function} func - TweenModule.to
@param {DOMElement} element - DOM Element
@param {number} duration - Duration
@param {Object} opts - Paramaters
@returns
Animate specific functions inside the TweenModules like TweenLite . to