As discussed previously, although we are building around an APA102C-based stick, there is more than one type of RGB LED system. We could choose something with any number of implementations. The best way to deal with this, as we saw in the chapter on motors, is to abstract it that is, to put the code into an object with an interface we've designed so that the small differences in interfaces between real hardware and their libraries is hidden from the behaviors.
So, what interface would we want for the LEDs? First, we'd want them to be available on the robot as methods in robot.leds. We will want to clear the LEDs (turn them all off), set an individual LED to an individual color, or set a bunch/range of LEDs to a list of colors.
We also want the robot code to tell us how many LEDs we have, so if the number changes, some of the animations...