I created something similar in .NET recently for SSIS 2008 as part of a Masters project. It basically encapsulated and simplified the access to the SSIS object model allowing packages to be quickly built in C# using simple declarations and methods.
Creating a For Each Loop container:
ForEachLoopContainer ForEachFile = new ForEachLoopContainer(SQ,
"For Each File",
"C:\\Data",
"IncomingData.csv",
"FileName");
Inserting a SQL Task into the container:
SQLTask LogFile = new SQLTask(ForEachFile,
"Log File",
OleDBConnectionString,
"insert into Filelog
(InputFileName, DateProcessed)
values(?, getdate())");
I thought that the advantage of this over the BIML model was that it meant developers already fluent in SSIS and C# didn't have to learn another language.