static void Main(string[] args)
        {
            Thermostat thermostat = new Thermostat();

            Heater heater = new Heater(30);

            Cooler cooler = new Cooler(40);

            thermostat.Add_TemperatureChanged(heater.OnTemperatureChanged);
            thermostat.Add_TemperatureChanged(cooler.Update);

            thermostat.EmulateTemperatureChange();

            thermostat.Remove_TemperatureChanged(cooler.Update);

            thermostat.EmulateTemperatureChange();

            Type type = thermostat.GetType();

            foreach (var t in type.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic))
            {
                Console.WriteLine(t.Name);
            }

            Console.ReadKey();
        }