Using a table driven framework means you don't need to programmatically add scripts. The tests are executed based upon formatted data records in an external source. I use CSV files in my framework (less overhead of needing a third-party app to edit, easy to compare in TFS source control, light-weight, etc) and a set of case/switch statements to read in what sort of step is being executed and grabbing data to use within the step. The code stays very static when adding a new test, so long as the existing code already supports the steps you're executing.