code: function renderLayout( pageElement, areaHelper, layoutInfo ) {
           addClass( pageElement, layoutInfo.className );
           pageElement.innerHTML = layoutInfo.html;
  
           const areas = findWidgetAreas( pageElement );
           const deregisterFuncs = Object.keys( areas )
              .map( areaName => areaHelper.register( areaName, areas[ areaName ] ) );
  
           DEFAULT_AREAS.forEach( area => {
              if( areaHelper.exists( area.name ) ) {
                 return;
              }
  
              const node = document.createElement( 'div' );
              if( area.hidden ) {
                 node.style.display = 'none';
              }
              deregisterFuncs.push( areaHelper.register( area.name, node, area.name ) );
              pageElement.appendChild( node );
           } );
  
           return () => {
              deregisterFuncs.forEach( func => func() );
              removeClass( pageElement, layoutInfo.className );
           };
        }
docs: //////////////////////////////////////////////////////////////////////////////////////////////////////