Redesign, IFunction.Evaluate now receives self