Refactoring; working on making the Connection class not extend Thread
Extracted RunnableMessageReader class
Removed unnecessary semicolon
Removed redundant method
Inlined method
Fixed JavaDoc
Added JavaDocs
Added JavaDocs
Reformat
Added JavaDocs
Added JavaDocs
Added JavaDocs
Refactored a very complex method.
Fixed NullPointerException caused by previous refactor
Removed MessageRegistry parameter from Message constructor in favor of MessageRegistry.getInstance
Better logging and failsafe