 			if not @_recomputing and not @stopped
 				queue.queueTask =>
 					@._recompute()
-					Deps._postRun()
+					Tracker._postRun()
 			
 			@invalidated = true
 			

		@_onInvalidateCallbacks = []
		@_recomputing = false
		
		Deps.currentComputationVar.withValue @, =>
			@_func = Meteor.bindEnvironment(f, null, @)
		
		errored = true

# External code can't access this, and so won't be able to directly construct a Tracker.Computation instance
privateObj = {}
nextId = 1
afterFlushCallbacks = []
queue = new Meteor._SynchronousQueue()

_.extend Tracker,
	currentComputationVar: new Meteor.EnvironmentVariable()
	
	flush: ->
		if not queue.safeToRunTask()
			throw new Error("Can't call Tracker.flush while flushing, or inside Tracker.autorun")
		
		queue.drain()
			
