Could it have anything to do with the fact that all of this is occurring in the Widget.js file, which doesn't load any of the rendering modules? Here are the modules I'm pulling in.
define([
'jimu/BaseWidget',
'dojo/_base/declare',
'dojo/_base/lang',
'dojo/_base/array',
'dojo/dom',
'dojo/on',
'dojo/query',
'dijit/registry',
'./LayerListView',
'./NlsStrings',
'jimu/LayerInfos/LayerInfos'
],
function(BaseWidget, declare, lang, array, dom, on,
query, registry, LayerListView, NlsStrings, LayerInfos) { ....