public static void Run()
        {
            var market = new Market();

            market.PropertyChanged += (sender, args) =>
            {
                if (args.PropertyName == "Volatility")
                {
                }
            };

            var market2 = new Market2();

            // market2.PriceAdded += (sender, f) =>
            // {
            //     Console.WriteLine($"We got a price of {f}");
            // };
            market2.Prices.ListChanged += (sender, args) =>
            {
                if (args.ListChangedType == ListChangedType.ItemAdded)
                {
                    float price = ((BindingList <float>)sender)[args.NewIndex];
                    Console.WriteLine($"Binding list got a price of {price}");
                }
            };
            market2.AddPrice(123);
        }
        public static void Demo2() // observer
        {
            var market = new Market2();

            //market.PriceAdded += (sender, f) =>
            //{
            //    Console.WriteLine($"we got a price of {f}");
            //};
            market.prices2.ListChanged += (sender, eventArgs) =>
            {
                if (eventArgs.ListChangedType == ListChangedType.ItemAdded)
                {
                    float price = ((BindingList <float>)sender)[eventArgs.NewIndex];
                    Console.WriteLine($"Binding list got a price of {price}");
                }
            };

            market.AddPrice(123);
        }