Working on #6. I think I should break out the puppet module stuff into a
separate issue, since that risks really putting this all off target.