Nice tutorial, Brad. I’m glad you didn’t opt for the obvious things like a linked list or a BST, since you can find those in many textbooks. On the other hand, the Fibonacci calculation felt a bit silly to me. I understand your goal is to illustrate the technique on a familiar calculation, but it felt like a lot of scaffolding compared to just writing a recursive function. It’s not obvious to me after watching which types of problems are worth the extra labor of defining 3+ classes and overriding procedures, etc. Which of your projects make use of this pattern? It would be interesting to see how you use this in “real” code.