docs: function onTransformStart(node, nodeHelpers) {
      if (!this.model.transformRunning) {
          this.model.transformRunning = true;
  
          delay(this.model.transformEnded ? this.model.transformEndDelay : this.model.transformStartDelay).then(function() {
  
              this.node = node || this.model.lastNode;
              this.nodeHelpers = nodeHelpers || this.model.lastNodeHelpers;
  
              getHelperPositions(this, this.node, this.nodeHelpers).then(function(data) {
  
                  // @TODO kann weg
                  // data.helpers.forEach(function(helper) {
                  //     helper.el.classList.add('transform-helper-prepare');
                  // });
                  //
                  // Tweens
                  var tween = anime({
                      targets: data.targets,
                      translateX: function(el, index) {
                          return [data.translateX[index], data.translateX[index]];
                      },
                      translateY: function(el, index) {
                          return [data.translateY[index], data.translateY[index]];
                      },
                      scale: function(el, index) {
                          return data.translateScale[index];
                      },
                      opacity: 1,
                      easing: this.model.transformEasing,
                      direction: this.model.transformEnded ? 'reverse' : 'normal',
                      duration: this.model.transformDuration,
                      autoplay: false,
                      begin: function() {
                          this.onTransformStart();
                          if (!this.model.transformEnded) {
                              data.helpers.forEach(function(helper) {
                                  setCSS(this, helper);
                                  helper.el.classList.add('transform-helper', 'transform-helper-prepare');
                              }.bind(this));
                          }
                      }.bind(this),
                      complete: function() {
                          this.model.transformEnded = !this.model.transformEnded;
  
                          this.model.lastNodeHelpers = nodeHelpers;
                          this.model.transformRunning = false;
                          if (!this.model.transformEnded && this.model.lastNode) {
                              this.model.lastNode.style.cssText = '';
                          }
                          this.model.lastNode = this.node;
                          if (this.model.transformEnded) {
                              data.helpers.forEach(function(helper) {
                                  if (helper.options.hideComplete) {
                                      helper.el.classList.remove('transform-helper-prepare');
                                      helper.el.style.cssText = '';
                                  }
                              }.bind(this));
                          } else {
                              data.helpers.forEach(function(helper) {
                                  helper.el.classList.remove('transform-helper', 'transform-helper-prepare');
                                  helper.el.style.cssText = '';
                                  this.model.lastNode = null;
                              }.bind(this));
                          }
  
                          this.onTransformEnded();
                      }.bind(this)
                  });
                  tween.play();
              }.bind(this));
          }.bind(this));
      }
  
  
  }