I really dislike stubbing `puts` on the subject.  I'd much rather make `ProjectInitializer` take an injectable `logger` or `output` object that defaults to `$stdout` but that we can pass a `StringIO` in from our specs to silence it (that would also make it easy to set expectations about the produced output).  Stubbing `puts` is problematic because there are other methods (like `print`) that will also produce output and I consider it an internal implementation detail that `ProjectInitializer` chooses to use `puts` to produce its output.  We may want to refactor that to use other methods in the future and this would not work to silence it in that situation.