/// <summary>
        /// Creates the JS code generator info. Temporarily on IViewEngineManager
        /// </summary>
        /// <param name="engineContext">The engine context.</param>
        /// <param name="controller">The controller.</param>
        /// <param name="controllerContext">The controller context.</param>
        /// <returns></returns>
        public JSCodeGeneratorInfo CreateJSCodeGeneratorInfo(IEngineContext engineContext, IController controller,
            IControllerContext controllerContext)
        {
            var codeGen = new JSCodeGenerator();

            return new JSCodeGeneratorInfo(codeGen, new PrototypeGenerator(codeGen), new object[0], new object[0]);
        }
		public void Init()
		{
			codeGen = new JSCodeGenerator();
			generator = new PrototypeGenerator(codeGen);
		}
		protected string ProcessViewJS(string templatePath)
		{
			StringWriter sw = new StringWriter();
			ControllerContext.LayoutNames = Layouts;
			StubEngineContext.CurrentControllerContext = ControllerContext;
			DefaultViewEngineManager engineManager = new DefaultViewEngineManager();
			engineManager.RegisterEngineForView(BooViewEngine);
			engineManager.RegisterEngineForExtesionLookup((BooViewEngine));
			JSCodeGenerator codeGenerator =
				  new JSCodeGenerator(StubEngineContext.Server,
					  engineManager,
					  StubEngineContext, null, ControllerContext, StubEngineContext.Services.UrlBuilder);

			IJSGenerator jsGen = new PrototypeGenerator(codeGenerator);

			codeGenerator.JSGenerator = jsGen;

			JSCodeGeneratorInfo info = new JSCodeGeneratorInfo(codeGenerator, jsGen,
				new object[] { new ScriptaculousExtension(codeGenerator) },
				new object[] { new ScriptaculousExtension(codeGenerator) });

			BooViewEngine.GenerateJS(templatePath, sw, info, StubEngineContext, null, ControllerContext);
			lastOutput = sw.ToString();
			return lastOutput;
		}
		public void Init()
		{
			codeGen = new JSCodeGenerator();
		}
		public void Init()
		{
			codeGen = new JSCodeGenerator();
			generator = new PrototypeElementGenerator(new PrototypeGenerator(codeGen), "my_root");
		}
		public void Init()
		{
			codeGen = new JSCodeGenerator();
			dispatcher = new JSGeneratorDispatcher(codeGen, new PrototypeGenerator(codeGen), new object[0], new object[0]);
		}