Exactly like a good set of abstractions and core libraries do in programming language design. I would encourage fellow program designers to think on the design patterns, especially from a language design angle. Then more often than not, you can take the kind of trainings that you are already very familiar with, and share it with the public service community.