Divide client logic and user interface
Merge pull request #146 from JoshVorick/client

Divide client logic and user interface