public static function build($source, $minor=false, $cached=true) {
		if( get_called_class() === get_class() ) {
			throw new \Exception('Use a subclass of '.get_class().' to build your configuration');
		}
		if( !$minor ) {
			if( !isset(static::$main) ) {
				static::$main = new static();
				$GLOBALS['CONFIG'] = &static::$main;
			}
			static::$main->load($source, $cached);
			return static::$main;
		}
		$newConf = new static();
		$newConf->load($source, $cached);
		return $newConf;
	}