Asynchronous Message Handler

I need to add the capability to handle messages that come without being requested. This would need to be for callbacks, command messages, wakeups etc.