public virtual void VisitLeave(Sequence sequence)
		{
			var localRight = Stack.Pop();
			var localLeft = Stack.Pop();
			Stack.Push( () => {
						localLeft();
						localRight();
					}
				);
		}
		public void Delete_Template()
		{
			var viewModel = new TemplateViewModel {Name = Guid.NewGuid().ToString()};

			var step1 = FlowFactory.TemplateFlows.CreateTemplate(viewModel);

			var step2 = FlowFactory.TemplateFlows.DeleteTemplate(viewModel);

			var workflow = new Sequence(step1, step2);

			workflow.Execute(_visitor);
		}
		public virtual void VisitExecute(Sequence sequence)
		{
		}
		public virtual void VisitEnter(Sequence sequence)
		{
		}