moved Activation, Closure and Environment into Evaluator as inner classes
added runnable() method to Closure to get a wrapped Closure that runs in its own execution environment