Added custom message class and socket wrapper class to abstract a bunch of stuff
Fixed up merge
Fixed up a merge mistake