Move node processing to FunctionContext