 	
 	import weave.api.core.ILinkableHashMap;
 	import weave.api.detectLinkableObjectChange;
+	import weave.api.getCallbackCollection;
+	import weave.api.getLinkableOwner;
 	import weave.api.registerLinkableChild;
 	import weave.api.reportError;
 	import weave.compiler.Compiler;
 	import weave.compiler.ICompiledObject;
 	import weave.compiler.ProxyObject;
-	import weave.compiler.StandardLib;
+	import weave.compiler.StandardLib;
 	
 	/**
 	 * LinkableFunction allows a function to be defined by a String that can use macros defined in the static macros hash map.

		{
			super(StandardLib.unIndent(defaultValue));
			macroLibraries.addImmediateCallback(this, triggerCallbacks, false, true);
			_ignoreRuntimeErrors = ignoreRuntimeErrors;
			_useThisScope = useThisScope;
			_paramNames = paramNames && paramNames.concat();

		private var _paramNames:Array = null;
		private var _isFunctionDefinition:Boolean = false;
		private var _triggerCount:uint = 0;
		
		private function handleMacros():void
		{
			if (getLinkableOwner(this) != macros)
				triggerCallbacks();
		}

		/**
		 * This is used as a placeholder to prevent re-compiling erroneous code.
