public UIViewController(UIModel model, UserActionHandlers userActionHandlers)
 {
     model.ValamiMegvaltozott += _ => TryRelease(eventLoopSemaphore);
     this.model = model;
     this.userActionHandlers = userActionHandlers;
     this.uiRenderer         = new UIRenderer(model);
     MuveletetKertek        += SafeFireUserActionHandlers;
 }
        public static void Main(string[] args)
        {
            UIModel            model = new UIModel();
            UserActionHandlers userActionHandlers = new UserActionHandlers(model);
            UIViewController   ui                  = new UIViewController(model, userActionHandlers);
            Thread             dateTimeLoop        = new Thread(() => DateTimeLoop(model));
            Thread             keyboardFeedingLoop = new Thread(() => ui.ConsoleKeyboardFeedingLoop());

            dateTimeLoop.Start();
            keyboardFeedingLoop.Start();
            ui.eventLoop();
        }