EvalCodeUnit is not right. We need something that instead of evaling the source at the end calls something like registerModule.

Maybe we should fix #714 first and generate the code without the IIFE wrapper and have the code unit eval wrap this as needed?