public static CustomNotification ShowForm()
		{
			CustomNotification result = null;
			SelectNotificationTypeForm form = new SelectNotificationTypeForm ();
			int response = form.Run ();
		
			if ((ResponseType)response == ResponseType.Ok) {
				if (form.radiobuttonCustom.Active)
				{
					result = new CustomNotification();
				}
				else if (form.radiobuttonGmail.Active)
				{
					result = new GoogleEmailNotification();
				}
				else if (form.radiobuttonImap.Active)
				{
					result = new ImapEmailNotification();
				}
				else if (form.radiobuttonBlinkstickService.Active)
				{
					result = new BlinkstickService();
				}
				else if (form.radiobuttonCpuUsage.Active)
				{
					result = new CpuUsageNotification();
				}
				else if (form.radiobuttonAmbilight.Active)
				{
					result = new AmbiLightNotification();
				}
			}

			form.Destroy();

			return result;
		}
		public override CustomNotification Copy ()
		{
			BlinkstickService ev = new BlinkstickService();
			ev.CopyProperties(this);
			return ev;
		}
		void HandleAccessCodeChanged (object sender, BlinkstickService.AccessCodeChangedEventArgs e)
		{
			client.Unsubscribe ("/devices/" + e.OldValue);
			client.Subscribe ("/devices/" + e.NewValue);
		}