String Convenience

At long last. This.

@prachigauriar please review… It's been so long I'm not even sure I remember all of what I did.
Use init once and the factory method the other time. Same for other places.