void IExpressionDecorator.Wrap(Environment env)
        {
            if (target.animatedType == typeof(bool))
            {
                env.AddBoundProperty("value", this, "value_bool");
            }
            if (target.animatedType == typeof(int))
            {
                env.AddBoundProperty("value", this, "value_int");
            }
            if (target.animatedType == typeof(float))
            {
                env.AddBoundProperty("value", this, "value_float");
            }
            if (target.animatedType == typeof(Vector2))
            {
                env.AddBoundProperty("value", this, "value_vector2");
            }
            if (target.animatedType == typeof(Vector3))
            {
                env.AddBoundProperty("value", this, "value_vector3");
            }
            if (target.animatedType == typeof(Color))
            {
                env.AddBoundProperty("value", this, "value_color");
            }

            if (target.animatedType == typeof(bool))
            {
                env.AddBoundMethod("Eval", this, "Eval_Bool");
            }
            if (target.animatedType == typeof(int))
            {
                env.AddBoundMethod("Eval", this, "Eval_Int");
            }
            if (target.animatedType == typeof(float))
            {
                env.AddBoundMethod("Eval", this, "Eval_Float");
            }
            if (target.animatedType == typeof(Vector2))
            {
                env.AddBoundMethod("Eval", this, "Eval_Vector2");
            }
            if (target.animatedType == typeof(Vector3))
            {
                env.AddBoundMethod("Eval", this, "Eval_Vector3");
            }
            if (target.animatedType == typeof(Color))
            {
                env.AddBoundMethod("Eval", this, "Eval_Color");
            }

            env.AddVariable("Parameter", this);
        }
 void IExpressionDecorator.Wrap(Environment env)
 {
     env.AddVariable("Clip", this);
 }