public function process($type, $manifest = null, $vars = array(), $full = false)
	{
		if (self::$current_instance)
			throw new \RuntimeException('There is still a Pipeline instance running');
		self::$current_instance = $this;
		
		if ($manifest) //this if is why $this->manifest_name is used for File::__construct() below
			$this->manifest_name = $manifest;
		else
			$this->manifest_name = 'application';

		$this->registered_files[$type] = array();

		$content = (string) new File($this->manifest_name . '.' . $type, $vars);
		
		self::$current_instance = null;
		
		return $full ? array($this->registered_files[$type], $content) : $content;
	}