Simplified to only use pub-sub.