Patterns This is all described here at: https://medium.com/@pagalvin/implement-the-observer-pattern-in-typescript-f0d4b05807f0