internal static void Main()
        {
            // Sets the Console to read from string
            ////Console.SetIn(new StringReader(TestIn001));

            IEventsManager eventsManager = new EventsManagerFast();
            var calendarSystemController = new CalendarSystemController(eventsManager);

            var commandFactory = new CommandFactory(calendarSystemController);
            var commandParser = new CommandParser(commandFactory);

            var commandExecutor = new CommandExecutor();

            while (true)
            {
                string input = Console.ReadLine();
                if (input == "End" || input == null)
                {
                    break;
                }

                ICommand cmd = commandParser.Parse(input);
                var result = commandExecutor.ExecuteCommand(cmd);
                Console.WriteLine(result);
            }
        }
 public CommandFactory(CalendarSystemController controller)
 {
     this.controller = controller;
 }