think it could be just "new XPKPackage(source_path)", no need to have so many factory functions: only one is used