Cleaned up JsonMessage hierarchy, cleaned up disconnect, error and, message-instanceof handling, and added slf4j dependency.
Cleaned up disconnect logic, tidied logging and handlers.