This came up recently again
and I think @jimLee should roll some magic object inheritance thing into his code so it can use any kind of smart LED.
I did so on hands and knees old school style, where I have a little section that catches a higher level way of looking at strips and you can choose at compile time which kind of strip you using along with the traditional information of # of LEDs and which pin they on.
I only use them in very simple ways, however. Perhaps what would be difficult or not worth the time would be all the color handling stuff that I seem to recall is very different between libraries.
a7