 	import weavejs.api.core.ILinkableHashMap;
 	import weavejs.api.core.ILinkableObject;
 	import weavejs.util.Dictionary2D;
-	import weavejs.util.StandardLib;
+	import weavejs.util.JS;
+	import weavejs.util.StandardLib;
 	
 	/**
 	 * This is used to dynamically attach a set of callbacks to different targets.

			var weave:Weave = Weave.getWeave(this);
			var root:ILinkableObject = weave ? weave.root : Weave.getRoot(this);
			_foundRoot = root != null;
			var node:ILinkableObject = Weave.followPath(root, _targetPath);
			if (!node)
			{

		private var _foundTarget:Boolean = true; // false when _target is not the desired target
		protected var _targetPath:Array; // the path that is being watched
		private var _pathDependencies:Dictionary2D = new Dictionary2D(); // (ILinkableCompositeObject, String) -> child object
		private var _warned:Boolean = false; // true after warning has been shown
		
		/**
		 * This is the linkable object currently being watched.
