Writing flexible reusable software
Writing software that does a thing is fairly straightforward. Writing software that can adapt to change is difficult. It's challenging to write software that can be easily customised. It's a completely different approach to build adaptable software
In react world people use hooks to try cause software to be composeable.
In many system tools there are Lua scripting provided.
How do you create flexible software?