The plugin system used by dexy http://dexy.it Plugins can be created by subclasses or just by data. For example: https://github.com/dexy/dexy/blob/develop/dexy/filters/filters.yaml Plugins have self-describing settings with default values.