Is there a need for a separate shape layer? 

The JBLineLayer can fill itself depending on the fillsAreaUnderLineWithIndex value. That way, we can keep a single collection of layer elements. We wouldn't even need another view to capture these shapes (JBLineChartAreasView can be removed).