Need to make sure message is copied to avoid any interference. And, as discuessed previously, the received method should be call in another thread.