private void typeComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            // First, disable / enable script function based on selection
            ScheduleEvaluatorType current = (ScheduleEvaluatorType)(typeComboBox.SelectedItem);

            if (current != ScheduleEvaluatorType.scripted)
            {
                evalFunctionTextbox.Enabled = false;
            }
            else
            {
                evalFunctionTextbox.Enabled = true;
            }

            // Then, write changes and register event
            ModelComponent before = (ModelComponent)Model.Clone();

            Model.ScheduleEvaluator.Type = current;
            ModelComponent after = (ModelComponent)Model.Clone();

            if (_mManager != null && before.ToXml() != after.ToXml())
            {
                _mManager.RegisterEvent(before, after, Model, "Change Type");
            }
        }
        private void evalFunctionTextbox_TextChanged(object sender, EventArgs e)
        {
            // Change evaluation function and register event
            ModelComponent before = (ModelComponent)Model.Clone();

            Model.ScheduleEvaluator.EvaulateLuaFcn = evalFunctionTextbox.Text;
            ModelComponent after = (ModelComponent)Model.Clone();

            if (before.ToXml() != after.ToXml())
            {
                _mManager.RegisterEvent(before, after, Model, "Function Change");
            }
        }