Refactored network communication code into a separate package.

* Minimizes code redundancies
* Detaches communication side from the app display side
New communicator package.

Fixes to address @hannosch's comments.
New communicator package.

Fixes to address @cpeterso's comments.
One more override added.
Merge pull request #472 from tamcap/network

Refactored network communication code into a separate package (@tamcap)