I have a bunch of patches, something like modules, conforming to a kind of API (they modify the same table, one after the other). Now I'd like to add an enable/disable mechanism to all of them without having to add this functionality to each and every patch. I thought about doing a generic module host that has this feature, telling it which module to load as the first argument, something like [modulehost mirror] (mirror is the name of one of the modules, located in its own patch). [modulehost] could add all common features (like enable/disable).
Now, how should [modulehost] look like? It should load the abstraction given as its first argument, which is a patch. Just putting [$1] won't do the work since PD thinks $1 is a float. This raises the question of inlets/outlets, but I'd be happy with something like [pd~] does, say [modulehost -in 3 -out 2 mirror], or only being able to communicate with the module using [send]/[receive].
Any ideas?