/// <summary>
		/// Uruchamia wskazany moduł testowy.
		/// </summary>
		private static void ExecuteModule(IDemoModule module)
		{
			Debug.WriteLine("Module: " + module.GetType().Name);
			try
			{
				module.Execute();
			}
			catch (Exception e)
			{
				MyUtil.PrintError(e);
			}
		}
		/// <summary>
		/// Wyświetla menu dostępnych modułów i czeka na wybór użytkownika.
		/// </summary>
		/// <param name="module">zwraca wybrany moduł (null, jeśli wybór był nieprawidłowy)</param>
		/// <returns>zwraca False, jeśli naciśnięto Escape</returns>
		private static bool SelectModule(out IDemoModule module)
		{
			Console.WriteLine("\n\nSelect module:   (Esc - exit)");
			foreach (var m in modules)
				Console.WriteLine("{0} - {1}", m.MenuKey, m.Description);

			var keyInfo = Console.ReadKey(true);
			Trace.WriteLine("\nMenu selection: " + keyInfo.Key);

			var selectedKey = keyInfo.KeyChar.ToString().ToUpper()[0];
			module = modules.SingleOrDefault(m => m.MenuKey == selectedKey);

			return (keyInfo.Key != ConsoleKey.Escape);
		}