public void Execute(DataRow Params) { specReader = SpecReaderBuilder.Build(Params); DataRow Spec = specReader.Spec; dataReader = DataReaderBuilder.Build(Spec, specReader.SpecDetails); procedure = ProcedureBuilder.Build(Spec); DataTable data = procedure.GenerateTable(); dataReader.FillTable(data); procedure.ExecuteFromTable(data); }