code: function buildContainerGroups() {
              let container = svg
                  .append('g')
                    .classed('container-group', true)
                    .attr('transform', `translate(${margin.left}, ${margin.top})`);
  
              container
                  .append('g').classed('grid-lines-group', true);
              container
                  .append('g').classed('chart-group', true);
              container
                  .append('g').classed('axis-group', true);
              container
                  .append('g').classed('metadata-group', true);
  
              if (hasTitle()) {
                  container.selectAll('.chart-group')
                    .attr('transform', `translate(${legendSpacing}, 0)`);
              }
          }
docs: Builds containers for the chart, the axis and a wrapper for all of them
  Also applies the Margin convention
  @return {void}
  @private