Refactored the App.
Converted AppTest to JUnit4.
Added interface.
Added client implementation.
Small name change for client test.
Add server implementation.
Small name change for server test.