Configuration files for each component were a DSL made of Tcl functions. Each module just sourced the respective file on load.