The area where xlights is by far strongest, and most mature, is in its abstraction of the network from the channel. Currently, xlights is poised to be THE rosetta stone of DIY lighting. It would be my opinion that xlights should focus on being the best at that first, and that sequencer's etc be different apps. For example, the sequencer project that csf is talking about, could be an application like prancer, that does not talk to hardware at all. For this sequencer, or prancer, or my project to talk to xlights - it needs an API that can be loaded/accessed by these other apps.
This would perhaps best be done as a daemon with sockets. Bonus would be if it used OSC, then it could potentially tap into that ecosystem. (OLA is a good model here)
Cas was just asking for basically this in the prancer forum.
csf, basically you would end up doing some of this in writing your sequencer. But instead of it being a "private" API connection between your sequencer and the network driving plugins, you would spend a little extra to clean up and abstract out that API.
-Preston