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