public final function lookup($funcName) {
		if(isset(self::$functions[$funcName])) {
			return self::$functions[$funcName];
		}
		//The assign-and-return is acceptable because isset(null) returns false.
		return (self::$functions[$funcName] = $this->create($funcName));
	}
public final function lookup($funcName) {
		if(isset(self::$functions[$funcName])) {
			return self::$functions[$funcName];
		}
		//The assign-and-return is acceptable because isset(null) returns false.
		return (self::$functions[$funcName] = $this->create($funcName));
	}
public final function lookup ( $ funcName ) { if ( isset ( self :: $ functions [ $ funcName ] ) ) { return self :: $ functions [ $ funcName ] ; } //The assign-and-return is acceptable because isset(null) returns false.
 return ( self :: $ functions [ $ funcName ] = $ this -> create ( $ funcName ) ) ; }
Returns the instance of the Function class that
handles the requested function.
If it was not loaded yet, tries to instanciate by
calling the overriden create method.
Returns null if the factory could not produce an instance.

@param string $funcName
@return FigFunction
Returns the instance of the Function class that handles the requested function . If it was not loaded yet tries to instanciate by calling the overriden create method . Returns null if the factory could not produce an instance .