Ok, that makes a lot more sense to me. I'm still a fan of initializing package_dir in the constructor and then overwriting it, if necessary, during publish_distribution, but that's a small point.