Handles the message. The implementation of this MUST not perform
lengthy activities. If the implementation requires to block or
perform activities that take, then it should queue the message so that
the code to handle the message can happen on a seperate thread.