public static function buildFrom($package, $source, $cached=true, $silent=false) {
		if( get_called_class() === get_class() ) {
			throw new \Exception('Use a subclass of '.get_class().' to build your configuration');
		}
		$newConf = new static();
		if($silent && !$newConf->hasSource($source, $package)) {
			return null;
		}
		$newConf->loadFrom($package, $source, $cached);
		return $newConf;
	}