Restructured the code generation a little. Now the generic Worm controls the process but delegates to the specific database providers.