Implement custom Package struct to replace ast.Package