docs: function Timeline(tweens, labels, props) {
  		this.EventDispatcher_constructor();
  
  	// public properties:
  		/**
  		 * Causes this timeline to continue playing when a global pause is active.
  		 * @property ignoreGlobalPause
  		 * @type Boolean
  		 **/
  		this.ignoreGlobalPause = false;
  
  		/**
  		 * The total duration of this timeline in milliseconds (or ticks if `useTicks `is `true`). This value is usually
  		 * automatically updated as you modify the timeline. See {{#crossLink "Timeline/updateDuration"}}{{/crossLink}}
  		 * for more information.
  		 * @property duration
  		 * @type Number
  		 * @default 0
  		 * @readonly
  		 **/
  		this.duration = 0;
  
  		/**
  		 * If true, the timeline will loop when it reaches the end. Can be set via the props param.
  		 * @property loop
  		 * @type Boolean
  		 **/
  		this.loop = false;
  
  		/**
  		 * The current normalized position of the timeline. This will always be a value between 0 and
  		 * {{#crossLink "Timeline/duration:property"}}{{/crossLink}}.
  		 * Changing this property directly will have no effect.
  		 * @property position
  		 * @type Object
  		 * @readonly
  		 **/
  		this.position = null;
  
  		// private properties:
  		/**
  		 * @property _paused
  		 * @type Boolean
  		 * @protected
  		 **/
  		this._paused = false;
  
  		/**
  		 * @property _tweens
  		 * @type Array[Tween]
  		 * @protected
  		 **/
  		this._tweens = [];
  
  		/**
  		 * @property _labels
  		 * @type Object
  		 * @protected
  		 **/
  		this._labels = null;
  
  		/**
  		 * @property _labelList
  		 * @type Array[Object]
  		 * @protected
  		 **/
  		this._labelList = null;
  
  		/**
  		 * @property _prevPosition
  		 * @type Number
  		 * @default 0
  		 * @protected
  		 **/
  		this._prevPosition = 0;
  
  		/**
  		 * @property _prevPos
  		 * @type Number
  		 * @default -1
  		 * @protected
  		 **/
  		this._prevPos = -1;
  
  		/**
  		 * @property _useTicks
  		 * @type Boolean
  		 * @default false
  		 * @protected
  		 **/
  		this._useTicks = false;
  
  		/**
  		 * Indicates whether the timeline is currently registered with Tween.
  		 * @property _registered
  		 * @type {boolean}
  		 * @default false
  		 * @protected
  		 */
  		this._registered = false;
  
  
  		if (props) {
  			this._useTicks = props.useTicks;
  			this.loop = props.loop;
  			this.ignoreGlobalPause = props.ignoreGlobalPause;
  			props.onChange&&this.addEventListener("change", props.onChange);
  		}
  		if (tweens) { this.addTween.apply(this, tweens); }
  		this.setLabels(labels);
  		if (props&&props.paused) { this._paused=true; }
  		else { createjs.Tween._register(this,true); }
  		if (props&&props.position!=null) { this.setPosition(props.position, createjs.Tween.NONE); }
  
  	}