@jzillw great example showing how it's not possible (or sometimes just not feasible) to design/implement a feature upfront-ready for some future extension. That's why I'm a die-hard proponent of iterative approach (where iteration sometimes means implementing a feature gradually where each next step is informed be the previous one and sometimes it means introducing separate version of the feature and gradual exchange of its existing uses). YAGNI and KISS FTW! 😄