added message queue to avoid an issue where a message could be consumed during a sub/unsub action