https://bjh7536.github.io/posts/Observer-Pattern/
Observer Pattern - BJH's Devlog