static Section SectionNonGenericSampleFactory ()
		{
			ElementCustom ec1 = new ElementCustom();
			ElementCustom ec2 = new ElementCustom("UITableViewCellCustomPerson");
			ElementCustom ec3 = new ElementCustom
												(
												  "CustomUITableViewCell"	// XIBname
												, "CustomUITableViewCell"	// cell reuse index
												);

			List<ElementCustom> ecs = new List<ElementCustom>();
			ElementCustom.DefaultFileNameXIB = "UITableViewCellCustomPerson";
			ElementCustom.DefaultCellReuseIdentifier = "UITableViewCellCustomPerson";

			for (int i = 1; i <= 20; i++)
			{
				ElementCustom ec = new ElementCustom();
				if (i == 7)
				{
					ec.FileNameXIB = "CustomUITableViewCell";
					ec.CellReuseIdentifier = "CustomUITableViewCell";
				}
				ecs.Add(ec);
			}

			Section s = new Section("Custom Element from XIB") 
			{
			  ec1
			, ec2
			, ec3
			, ecs.ToArray()
			};

			return s;
		}
		Section SectionManualXIBlessSampleFactory ()
		{
			ElementCustom ec1 = new ElementCustom();
			ec1.CellContentFactory += CellContentFactoryImplementationForPerson1;
			// ec1.CellContentFactory += new SomeClass().SomeMethodThatReturnsUITableViewCell();

			ElementCustom ec2 = new ElementCustom();
			ec2.CellContentFactory += CellContentFactoryImplementationForPerson2;

			Section s = new Section("Custom Element Non Generic") 
			{
			  ec1
			, ec2
			};
			
			return s;
		}
		public DataLoadingDialogViewController()
			: base(UITableViewStyle.Plain, null)
		{

			ElementCustom ecdg1 = new ElementCustom();

			List<ElementCustom> data_ui = new List<ElementCustom>();

			List<SectionalInformation> data_sectional_info;
			data_sectional_info = SectionalInformationDataFactory.SectionalInformation ();

			foreach (SectionalInformation si in data_sectional_info) 
			{

				ElementCustom ecdg2 = new ElementCustom();

				//UITableViewCellCustom clc = ce.PresentationObjectCell as UITableViewCellCustom;
				// clc.UpdateData(si.Name, si.Elapsed.ToString(), si.Delete);


//				ecdg2.UpdateData += delegate(UITableViewCell c)
//				{
//				};

				data_ui.Add(ecdg2);
			}


			Root = new RootElement ("MTD") 
			{
				new Section ("First Section: Custom cell from XIB")
				{
					data_ui.ToArray()
				},
				new Section ("Second Section: Custom cell from XIB")
				{
				}
			};
		}
		public DialogViewControllerForElementCustomDerived () : base (UITableViewStyle.Plain, null)
		{
			UIView v = this.View;
			// Load Views from XIB
			NSArray views = NSBundle.MainBundle.LoadNib ("UITableViewSourceForListOfSamples", v, null);
			
			// Extract cell drawn/defined in XIB with Interface Builder 
			// it is one and only UIView thus index 0
			UITableViewCellCustom cell = 
					MonoTouch.ObjCRuntime.Runtime.GetNSObject (views.ValueAt (0))
				 	as UITableViewCellCustom;
			
			ElementCustom ecd1 = 
				new ElementCustom("UITableViewControllerForList")
				{
				CellCustom = cell
				};

			ElementCustom  ecd2 = new ElementCustom(cell);
			
			Root = new RootElement("MTD") 
			{
				new Section ("First Section"){
					new StringElement ("Hello", () => {
						new UIAlertView ("Hola", "Thanks for tapping!", null, "Continue").Show (); 
					}),
					new EntryElement ("Name", "Enter your name", String.Empty)
				},
				new Section ("Second Section")
				{
					new ElementCustom("UITableViewControllerForList")
				, ecd1
				, ecd2
				},
				// WTF??? no error? check comma in the line above
			};
		}