Great work. I'm in the process of writing an ETL and while I don't think this will suite our needs (so unfortunately I need to keep writing) this article provides a lot of great detail that helped me see the process more clearly.
It would be great to know what doesn't fit your needs - can you describe your project in more detail?