Added Render Modules and cleaned up renderer to use promises properly.