all networking should be off of the UI thread

Move the builder to run off the UI thread, and make it only happen once.