public void WeatherChanged(object sender, WeatherArgs e)
        {
            if (e == null)
            {
                throw new ArgumentNullException(nameof(e));
            }

            ExecuteChanges(sender, e);
        }
 internal abstract void ExecuteChanges(object sender, WeatherArgs e);