PubSub lib with event life