Added callback function to messages.

Added callback to messages. This allows events to occur after reading a
message. This simplifies the level code, removing the need to override
the update function.