I was initially trying to change as little as possible. You used two methods (static/constructor) to generate the Manifest class, getting the options in their required changes to both those 'constructors'.  I initially wanted to pass the options to the manifest class, and let it consider the options itself. I can rewrite if you think that would be better.