This is in preparation of avoiding accessing `std::cout` directly as well as streamlining and improving the logging during the settings parsing. There are no functional changes yet.