 				|| LinkableFunction.macros.getObject(name) != null;
 		}
 		
-		private function selfCallback():void
+		private function _immediateCallback():void
 		{
 			if (!groupedCallback.value)
-				runScript();
+				_runScript();
 		}
 		
-		private function selfGroupedCallback():void
+		private function _groupedCallback():void
 		{
 			if (groupedCallback.value)
-				runScript();
+				_runScript();
 		}
 		
-		private function runScript():void
+		private function _runScript():void
 		{
 			if (delayWhileBusy.value && WeaveAPI.SessionManager.linkableObjectIsBusy(this))
 				return;

			
			try
			{
				if (detectLinkableObjectChange(selfCallback, script))
					_compiledScript = _compiler.compileToFunction(script.value, _symbolTableProxy, reportError, false);
				
				_compiledScript.apply(this);

		public function LinkableCallbackScript()
		{
			var callbacks:ICallbackCollection = WeaveAPI.SessionManager.getCallbackCollection(this);
			callbacks.addImmediateCallback(null, _immediateCallback);
			callbacks.addGroupedCallback(null, _groupedCallback);
		}
		
		public const variables:LinkableHashMap = registerLinkableChild(this, new LinkableHashMap());
