refactored EvaluateObject: added EvaluateSettings; added custom IDispatcher