- added pub/sub model for messaging