Design a Pub Sub System — Low-level design | OneNoughtOne