public static void DemoRailwayORM()
        {
            var read  = TrackReader.Read(File.ReadAllLines(@"TextFiles/octagon-track.txt"));
            var parts = RailwayPartsORM.Map(read);

            Railway.AppendParts(parts);
            ConsoleWriter.WriteParts(parts);
            Console.WriteLine("press a key to view the parts as json!");
            Console.ReadKey();

            foreach (var part in Railway.RailwayParts)
            {
                WriteFormattedJsonObject(part);
            }
        }
        public static void DemoClockWithStations()
        {
            var read  = TrackReader.Read(File.ReadAllLines(@"TextFiles/Simple-track.txt"));
            var parts = RailwayPartsORM.Map(read);

            Railway.AppendParts(parts);
            ConsoleWriter.WriteParts(parts);

            var timeTableBuilder = new TimeTableBuilder(1);

            var testORM = new TimeTableORM();

            testORM.Load(5);
            var stationTimes = timeTableBuilder.createStationTimeList();

            Console.SetCursorPosition(0, 0);
            foreach (var timePair in stationTimes)
            {
                Console.WriteLine(timePair.Item1 + " " + timePair.Item2);
            }
            Console.SetCursorPosition(0, 5);

            var train = new Train();

            train.ConvertStationTimes(stationTimes);
            train.GetFullRoute();

            var clock = new TwentyFourHourClock();

            Clock = clock;
            Thread clockThread = CreateClockThread(500, clock);

            clockThread.Start();

            while (true)
            {
                Thread.Sleep(200);
                train.RunTrain(false);
                RefreshScreen();
            }
        }