Refactor to place all networking code in NetworkFactory.  Much cleaner.