simple pub/sub messenger implemented