lua.wetgenes.gamecake.toaster.bake
oven=wetgenes.gamecake.toaster.bake(opts)
Bake creates an instance of a lua module bound to an oven state. Here we are creating the main state that other modules will then bind to.
Modules are then bound together using rebake...
b=oven.rebake(nameb)
c=oven.rebake(namec)
All of these will be connected by the same oven and circular dependencies should work with the caveat that just because you have the table for a baked module does not mean that it has all been filled in yet.