Fixes and improvements to Server, Overlay

Tidying up some loose ends.
And how would a `std::string` help in that case? Remember, the `std::string` constructor would be called with that argument and do the exact same thing with it. I don't object to making this a `std::string const&` but I don't really see the point.