I don't really know. I really wanted to restrict the changes to only this file so my plan is to let this land and bake and then in another refactoring round change the places that call stuff from here so that they instantiate PlatformMunger, then we'll be doing way less disk writes. I also want Jonathan's patch to land before touching install.js because he did a lot of changes there.

Thanks for the review, will address all the other comments in the next commit.