@Override
	public Object callFunction(String name, List<Object> arguments) {
		Function function = functions.get(name.toLowerCase());
		
		if (function != null){
			Object returnValue = function.invoke(this,arguments);
			return returnValue == null ? Nothing.VALUE : returnValue;
		} else {
			errorReporter.reportError("I don't know how to "+name+"!");
		}
		return Nothing.VALUE;

	}