Your idea does work, depending on the requirements. I've done something similar to run external programs that have a small number of possible signatures, where each signature determines the version of the api. For instance version 1 had 2 parameters, version 2 added a 3rd parameter. So once you...