Implement MessageEvent.
Merge pull request #2852 from Ms2ger/MessageEvent

Implement MessageEvent.