https://medium.com/@ramseyjiang_22278/fan-out-fan-in-pattern-vs-producer-consumer-pattern-22b7b39eacce