code: function getTargetScope() {
                  var targetElement = scope.ttElement ? angular.element(scope.ttElement) : element;
  
                  var targetScope = scope;
                  if (targetElement !== element && !scope.ttSourceScope)
                      targetScope = targetElement.scope();
  
                  return targetScope;
              }
docs: determining target scope. It's used only when using virtual steps and there is some action performed like on-show or on-progress. Without virtual steps action would performed on element's scope and that would work just fine however, when using virtual steps, whose steps can be placed in different controller, so it affects scope, which will be used to run this action against.