public CurrencyChangeEventArgs(ConfigurableValue val)
 {
     this.ConfigValue = val;
 }
 public ConfigurableValueChanged(ConfigurableValue val)
 {
     this.ConfigValue = val;
 }
 public ConfigurationChangeEventArgs(ConfigurableValue val)
 {
     this.ConfigValue = val;
 }
		public MonthsControl (ConfigurableValue val) : base ("MonthsControl", null)
		{
			this.ConfigValue = val;
		}
		private UIViewController GetConfigurator (ConfigurableValue val)
		{			
			IConfigControl control = null;
			
			switch (val.ValueType) {
			case ConfigurableValueType.Money:
				control = new MoneyControl (val);
				break;
			case ConfigurableValueType.Months:
				control = new MonthsControl (val);
				break;
			case ConfigurableValueType.Percentage:
				control = new PercentageControl (val);
				break;
			case ConfigurableValueType.Year:
				control = new YearControl (val);
				break;
			case ConfigurableValueType.Currency:
				control = new CurrencyControl (val);
				break;
			}
			
			if (control != null) {
				control.ValueChanged += HandleControlValueChanged;
				control.CurrencyButtonClicked += HandleCurrencyButtonClicked;
			}
			
			return control as UIViewController;
		}
		public PercentageControl (ConfigurableValue val) : base ("PercentageControl", null)
		{
			this.ConfigValue = val;
		}
		public YearControl (ConfigurableValue val) : base ("YearControl", null)
		{
			this.ConfigValue = val;
		}
		public CurrencyControl (ConfigurableValue val) : base ("CurrencyControl", null)
		{
			this.ConfigValue = val;
			this.ConfigValue.ValueChanged += HandleValueChanged;
		}