You could argue from a code readability perspective your `addBand` method could be called `addBandToLineup` so that its intent is clearer.
Alternatively you could go with a `addBand` `getBands` approach. Using lineup is a domain knowledge semantic i.e. that a band that in playing in a festival is in the festival’s lineup but from a purely code perspective it might not be clear that when you add a band that you should check the lineup to see if its there.
Another possibility is that addBand could be a method of a MusicFestivalLineup class.
Nice posts Pete keep it up.