enyo.kind({
	name: "enyo.sample.AnimatorSample",
	components: [
		{content: "Smooth Animation:", name: "deferText", showing: false},
		{content: "Choppy Animation:", name: "nondeferText"},
		{name: "dot", style: "width: 10px; height: 10px; background-color: red;"},
		{kind: "Animator", duration: 3000, startValue: 0, endValue: 10000, onStep: "stepAnimation", onEnd: "animationEnded", easingFunction: enyo.easing.linear }
	],
	stepAnimation: function(inSender, inEvent) {
		var v = inSender.value/100;
		this.$.dot.applyStyle("width", v + "%");
	},
	/* an expensive operation: */
	expensive: function(){
		window.RANDSTRING = "";
		for (var i = 1; i < 100000; ++i) {
			window.RANDSTRING += Math.random();
		}
	},
	animationEnded: function(){
		this.doAnimation();
	},
	rendered: function(){
		this.inherited(arguments);
		this.doAnimation();
	},
	defer: false,
	doAnimation: function(){
		setTimeout(enyo.bindSafely(this, function(){
			if(this.defer){
				this.startJob("expensive", "expensive", 1000, 1);
			} else {
				this.startJob("expensive", "expensive", 1000);
			}
			this.$.deferText.setShowing(this.defer);
			this.$.nondeferText.setShowing(!this.defer);
			this.$.animator.play();
			this.defer = !this.defer;
		}), 500);
	}
});

@@ -887,39 +887,35 @@
 %7B%0A%09%09
-setTimeout(enyo.bindSafely(this
+this.startJob(%22doAnimation%22
 , fu
@@ -1216,17 +1216,16 @@
 fer;%0A%09%09%7D
-)
 , 500);%0A

Update AnimatorSample.js to use startJob