Delegate message handling to self.messageHandler and add logger
Clean up and reorganize code
Added methods for sending and handling connect messages
Generic session and stream support
Rename test file to reflect purpose
Fix renamed variables in test cases