Working implementation of async write:

    * There is no way to safely block until an async op has completed
      -> trade mutex for flag & exception
    * Introduce StringCopy helper class